インストール中に実行する .exe ファイルがあります。msi ファイルがブートストラップ (メインの msi ファイルを起動する .exe ファイル) によって起動された場合は正常に実行されますが、msi 自体によって起動された場合は正しく実行されません。私のブートストラッパーは起動時に権限を取得し、権限のある cmd.exe で msi を実行すると .exe ファイルがうまく実行されるため、この問題は権限に関連しているようです。
コントロール パネルの ARP メニューからメンテナンス モードに入ると、実際の問題が発生します。.exe ファイルは、一部の機能のアクション状態に従って実行されます。ブートストラッパーで起動した独自のmsi(権限あり)からメンテナンスモードに入るとうまく実行されますが、コントロールパネルのARPメニューからメンテナンスモードに入るとうまく実行されません。
コントロール パネルの ARP メニューからメンテナンス モードに入ったときに、同じように実行されるようにしたい。
以下は私のコードの一部です。
<CustomAction Id="CA1" BinaryKey="file.exe" ExeCommand="" Execute="deferred" Return="asyncNoWait" />
...
<Custom Action="CA1" Before="InstallFinalize"><![CDATA[&Feat1=3]]></Custom>
ありがとうございました。