2011-03-29 94 views
4

私はレジストリにアクセスし、カスタムアクションを使用してファイルをコピーして削除する必要があるインストーラを持っています。 Windows XPでは、インストーラは正常に動作しますが、Vistaと7では、フォルダにアクセスできないためインストーラにエラーが表示されますが、管理者としてインストーラを実行するとすべて動作します。昇格された権限でWiXで作成されたMSI内でカスタムアクションを実行するにはどうすればよいですか?

MSIがこの方法で実行されていない場合でも、管理者としてカスタムアクションを実行できるようにするにはインストーラーが必要です(通常のユーザーがインストーラーを実行する必要があります)。レジストリを変更してMSIを正常に実行できるようにするために、インストールの最初にEXEを使用してみましたが、それは非常に良い解決策だとは思っていません。

PS。 Bootstrapperはクライアントの要求によりオプションではありません。S 私のカスタムアクションはすべて延期され、偽装= "いいえ"

アイデアはありますか? ありがとう

答えて

2

カスタムアクションの順序は、InstallInitializeInstallFinalizeの間である必要があります。

インストーラを実行するとUACプロンプトが表示されますか?マシンごとのインストールを実行する場合は、Installボタンをウィザードでクリックすると、UACプロンプトが表示されます。あなたはUACプロンプトを取得していない場合は、チェックALLUSERSプロパティは、2を参照してくださいに設定されてもMarking the Privileges for an MSI

5

ていることを確認してください:InstallInitialize

  • は属性がに設定されている「実行」の後に予定しています

    • は属性がなし
    に設定されている "偽装" 延期10

    遅延カスタムアクションはインストールセッションにアクセスできないため、インストーラプロパティに直接アクセスすることはできません。

  • 関連する問題