なんらかの理由で、コマンド ラインで指定された引数を使用して構成ファイルを更新する必要があります。ファイルが更新されていないため、msiexec によって開始される小さなユーティリティ アプリを c# で作成しました。目的は、このアプリにコマンドライン パラメータを取得して、インストール中に構成ファイルを開いて更新できるようにすることです。
私のアプリは正常に実行されましたが、親プロセス (msiexec) のコマンド ライン パラメータを読み込もうとC:\windows\msiexec /V
すると、msiexec コマンド ラインで指定したものとは異なるものが得られます (使用していません/V
) 。
何が問題になる可能性があるかについてのアイデアはありますか? これを処理するより良い方法があれば、提案してください。
ありがとう。
更新:
混乱して申し訳ありません。私は WiX インストーラーを使用していました。WiX で生成された .msi をコマンド ラインで次のように起動します。
C:\> msiexec /I foo.msi ARG1="v1" ARG2="v2"
ARG1
ARG2
Wix インストーラー スクリプトで定義されます。
私が見ているのは、msiexec によって開始される小さなアプリケーションによって、コマンド ライン params にアクセスする方法です (アプリは Wix インストーラー スクリプトでカスタム アクションとして指定されます) ARG1="v1"
。 ARG2="V"
理想的には、私が使用するとき(xmlFile
同様に試してみました) 、xmlConfig
WiXインストーラースクリプトは構成ファイルを.v1
v2
v1
v2
を使用するxmlFile
と、次のエラーが表示されます。
ExecXmlFile: エラー 0x8007006e: XML ファイルの読み込みに失敗しました: エラー 25531。 . XML ファイルを開くことができませんでした。システム エラー: -2147024786 –</p>
意味のある情報は得られません。msiexec 引数/l*v
を使用してログを生成しました。
ログの抜粋:
実際xmlFile
には私の要件を実行する必要がありますが、使用中に次のエラーが発生します。これに関するヘルプは大歓迎です。
MSI (s) (E4:00) [18:11:32:110]: Executing op: ActionStart(Name=ExecXmlFile,,) Action 18:11:32: ExecXmlFile.
MSI (s) (E4:00) [18:11:32:111]: Executing op: CustomActionSchedule(Action=ExecXmlFile,ActionType=3073,Source=BinaryData,Target=ExecXmlFile,CustomActionData=1030//cloudRecognition/connectiontype130//cloudRecognition/connectionaddress192.168.128.59;192.168.128.261030//cloudRecognition/connectionport50001;50001)
MSI (s) (E4:DC) [18:11:32:113]: Invoking remote custom action. DLL: C:\Windows\Installer\MSIA419.tmp, Entrypoint: ExecXmlFile
MSI (s) (E4:EC) [18:11:32:113]: Generating random cookie.
MSI (s) (E4:EC) [18:11:32:115]: Created Custom Action Server with PID 10104 (0x2778).
MSI (s) (E4:68) [18:11:32:402]: Running as a service.
MSI (s) (E4:68) [18:11:32:403]: Hello, I'm your 32bit Elevated custom action server.
ExecXmlFile: Error 0x8007006e: failed to load XML file:
Error 25531. Failed to open XML file , system error: -2147024786
MSI (s) (E4!54) [18:11:36:714]: Product: -- Error 25531. Failed to open XML file , system error: -2147024786
CustomActionExecXmlFile
が実際のエラー コード 1603 を返しました (サンドボックス内で変換が行われた場合、これは 100% 正確ではない可能性があることに注意してください)。