2011-02-17 50 views
7

私たちはMSIインストーラを作成するためにWixを使用します。通常はGUIでインストーラを使用すると効果的なカスタムアクションがいくつかありますが、サイレントインストール( "msiexec/qb/i")を使用するとカスタムアクションは実行されません。サイレントインストールで使用するためにWixでカスタムアクションを作成する

Wixで動作させるにはどうすればよいですか?

答えて

0

実行しても失敗しないのですか? quietモード(UILevelプロパティを参照)で実行しないように条件が設定されている場合があります。失敗した場合は、フルUIモードでユーザーからの入力情報(プロパティ)が不足している可能性があります。

とにかく、冗長ログで詳細を確認する必要があります。

+0

ありがとうございます。ありがとうございますが、WixでUILevelプロパティを設定するにはどうすればよいですか? –

+0

インストーラによって、たとえば次のように設定されます。 msiexecを実行するパラメータ(/ q)。おそらく、このプロパティをチェックして、カスタムアクションを実行するかどうかを確認してください。そうですか? –

6

は、私はあなたが読むことをお勧め(必要に応じて何回か...それは最初にしばらくかかった):

Installation Phases and In-Script Execution Options for Custom Actions in Windows Installer

あり質問をオーサリングする際に考慮すべき非常に多くのものがあり、詳細はその中にありますよく書かれた記事。基本的には、カスタムシーケンスをUIシーケンスに配置するだけで、実行シーケンスではないように思えますが、正しく実行していることを確認する以外のことがあります。

0

ExeCommandで "[UILevel]"を設定し、引数を使用してアクセスできます。

<CustomAction Id="customActionId" BinaryKey="InstallerProgram" ExeCommand="[UILevel]" Execute="deferred" Return="check" /> 


    static void Main(string[] args) 
    { 
    var uiLevel = args[0]; //==> [Here is the UILevel][1] 
    } 
関連する問題