- - PR -
VistaへのMSI 3.1インストール
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-10-12 17:48
こんにちは。
開発環境:WindowsXP Professional + VS2005 Professional Edition インストール先:WindowsXP, Vista(UAC有効) インストール実行ユーザ:管理者 上記環境で動作するインストーラを(予算の関係で)、WindowsInstaller3.1で 開発しています。 単純にファイルをインストールするだけの処理の場合は、対象の両OSとも正常に 動作します。 しかし、インストールの最後に作成したフォルダのアクセス権を変更する処理 (C#のDirectorySecurity.ModifyAccessRule()を使用)を追加した場合、vista ではエラーメッセージ(エラーコード2869)が表示され、インストールに 失敗してしまいます。 その上、エラーメッセージボックスのOK押下後、空のメッセージボックスが 続けて表示されます。 setup.exeを右クリックし、「管理者として実行」を選択し、インストール すれば正常に動作するため、msiでインストールした場合の権限が不足 しているものと推測しています。 だからといって空のメッセージボックスが出るのは謎ですが。。。 そこで質問です。 1.Vista(UAC有効)環境において、WindowsInstaller3.1で作成した インストーラ(msi)起動時に内部的に管理者権限に昇格させる ことは可能でしょうか? 2.上記が不可能な場合、有償ソフトを使用することなく、目的を 実現することは可能でしょうか(WiX使用??)? 恐らくInstallShieldを購入すれば可能だとは思いますが、時期的に 今から有償ソフトを購入し、対応するのは難しい状況です。。。。 有識者の方々、ご指導よろしくお願いいたします。 | ||||
|
投稿日時: 2007-10-12 20:03
Orca.exe(手動)やWiRunSQL.vbs(を改造するなどしてVSのセットアッププロジェクトPostBuildEventで呼ぶ)を利用して、msiのCustomActionテーブルを更新することでできそうです。 参考になるページ見つけました。 http://blogs.x2line.com/al/archive/2007/07/20/3210.aspx | ||||
|
投稿日時: 2007-10-15 21:00
IIJIMASさん、返答ありがとうございます。 上記ページを参考に検証したところ、正常に動作しました! 参考までに対応内容を載せておきます。 ---------------------------------------------------------------- 1.OracaにてCustomActionのinstall-rollback各Type値に2048 (1024ではなかったです。。。)を加算。 2.Oracaの[Tools]-[Options]-[Database]の"Copy embedded streams ..." チェックボックをチェック。 3."Save As"にて上書き保存。 ---------------------------------------------------------------- ありがとうござました! |
1