Wixでiniファイルを読むときのシーケンシングの問題

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


  

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

0

2 答え

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

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

0
追加された
パッケージが起動された直後のC:\ Windowsのようなマシン単位のファイルの書き込みはお勧めできません。これがINI検索が実現可能でない理由です。代わりに、一時フォルダー(たとえば、現在のユーザーTempフォルダー)にファイルを書き込むことができます。カスタムアクションでそのファイルを読み取ることができます。
追加された 著者 user527987,
はい、知っています。私の問題は、c:\ windowsでiniファイルを生成するアプリケーションが、Wix inifilesearchの後に実行されることです。
追加された 著者 Steph Ragazzi,

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

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

0
追加された