2011-10-27 5 views
0

Wixでiniファイルを読む必要があります。このiniファイルは、カスタムアクションによってインストーラ自体によって作成されます(exeファイルがiniファイルを生成します)。
問題:AppSearch(iniファイルが読み込まれる場所)がInstallUISequenceの最初のステップです。
私がiniファイルを読み込もうとすると、まだAppSearchの前にCAを呼び出してもエラーが発生しますが、まだ作成されていません(Return = "asyncWait" in CA)。ここ
は呼び出しです:Wixでiniファイルを読むときのシーケンシングの問題

<InstallUISequence> 
    <Custom Action="LaunchCA" Before="AppSearch" /> 
</InstallUISequence> 

は、解決策はありますか?ありがとう!

答えて

0

WindowsインストーラINIは、C:\ Windowsフォルダ内のファイルのみをサポートしています。したがって、検索を使用することは実現可能ではありません。

代わりにcustom action(あなたが作成したカスタムコード)を使用してファイルを読むことができます。私はあなたが結果をいくつかのインストーラプロパティに保存したいと思っています。カスタムアクションでは、インストールハンドルを受け取る必要があります。

+0

はい、わかります。私の問題は、c:\ windowsでiniファイルを生成するアプリケーションがWix inifilesearchの後に実行されることです。 –

+0

パッケージが起動された直後にC:\ Windowsのようなマシンごとのファイルを書き込むことはお勧めできません。これがINI検索が実現可能でない理由です。代わりに、一時フォルダー(たとえば、現在のユーザーTempフォルダー)にファイルを書き込むことができます。カスタムアクションでそのファイルを読み取ることができます。 –

0

あなたが必要とするのは、生成されたINIファイルのデータにアクセスすることです。 EXEがデータを出力する方法を制御しますか?

これを行うと、そのデータをINIファイルではなくカスタムMSIテーブルにダンプすることができます。その後、INIファイルの内容を読み取るCAは作成が完了するまで待つ必要はなく、AppSearchの依存関係を取り除くことになります。

関連する問題