サービス アプリに Wix をインストールすると、このような問題が発生しました。「修復」オプションを選択すると、インストール後に PCを再起動するように求められます。実際、私のテスト インストールには 2 つのファイルしか含まれていません。インストーラーにサービスを停止させる属性がありますが(実際には、ログのためにサービスを停止してアンインストールします)、ファイルはまだサービスのプロセスでビジー状態です。私は何を間違っていますか?回避策はありますか?この場合、再起動のプロンプトを表示しないようにするにはどうすればよいですか? インストーラーのコードは次のとおりです。
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="AGENTFOLD">
<Component Id="WindowsAgent" Guid="*">
<File Id="WinAgent" KeyPath="yes" Source="WindowsAgent.exe"/>
<ServiceInstall Id='WindowsAgentInst' Name='WindowsAgent' DisplayName='WindowsAgent' Type='ownProcess' Account='LocalSystem' Start='auto' ErrorControl='normal'/>
<ServiceControl Id="WindowsAgentControl" Name="WindowsAgent" Stop="both" Start="install" Remove="uninstall" Wait="yes" />
</Component>
<Component Id="cmp2" Guid="GUIDHERE">
<File Id="fil2" KeyPath="yes" Source="mydll.dll" />
</Component>
</ComponentGroup>
</Fragment>
ログの内容は次のとおりです。
Info 1603. ファイル C:\Program Files(x86)\WindowsAgent\mydll.dll は使用中です。そのアプリケーションを閉じて、再試行してください。
MSI (s) (88:78) [17:01:50:993]: 製品: Setuptest。ファイル C:\Program Files (x86)\WindowsAgent\mydll.dll は次のプロセスで使用されています: 名前: WindowsAgent 、ID 3384。
Info 1603. ファイル C:\Program Files (x86)\WindowsAgent\WindowsAgent.exe は使用中です。そのアプリケーションを閉じて、再試行してください。
MSI (s) (88:78) [17:01:51:182]: 製品: Setuptest。ファイル C:\Program Files(x86)\WindowsAgent\WindowsAgent.exe は次のプロセスで使用されています: 名前: WindowsAgent 、ID 3384。
修理前に手動でサービスを停止すると、すべて正常に動作することに注意してください。