1

WCF/Silverlightアプリケーションのインストーラーを作成しました。ユーザーがインストールパスをC:\ Program Filesに変更するまで、すべて正常に機能しています。他のすべてのパスは正常に機能します。

オブジェクトのセキュリティ情報を設定できませんでした:C:\ Program Files(x86)\

Windows 2008ServerR2にあります。ユーザーがC:\ Program Files \を選択しても、ログにはC:\ Program Files(x86)\が表示されます。

インストールログの最後の数行:

MSI(s)(90:08)[13:22:10:3​​34]:LocalSQLConfigDataSourceがリモートコンテキストで1を返しました。MSI(s)(90:08)[13:22:10:3​​44]:opの実行:ActionStart(Name = ExecSecureObjects ,,)アクション13:22:10:ExecSecureObjects。MSI(s)(90:08)[13:22:10:3​​53]:実行中op:CustomActionSchedule(Action = ExecSecureObjects、ActionType = 3073、Source = BinaryData、Target = ExecSecureObjects、CustomActionData = C:\ Program Files(x86) \ CreateFolderEveryone269221888)MSI(s)(90:B0)[13:22:10:3​​58]:リモートカスタムアクションを呼び出しています。DLL:C:\ Windows \ Installer \ MSIF980.tmp、エントリポイント:ExecSecureObjects ExecSecureObjects:C:\ Windows \ Installer \ MSIF980.tmp、バージョン3.6.3005.0にExecSecureObjectsを入力ExecSecureObjects:オブジェクトの保護:C:\ Program Files(x86)\タイプ:CreateFolderユーザー:Everyone ExecSecureObjects:エラー0x80070005:

4

1 に答える 1

1

32ビットインストーラーは64ビットProgramFilesに書き込むことができません。これには64ビットのMSIが必要です。

Program Filesフォルダーのアクセス許可を変更するのはなぜですか?これは、オペレーティングシステムにとって非常に侵襲的です。

于 2012-08-30T22:31:58.047 に答える