Wixを使用してWindowsサービスインストーラを開発しました。サービスはインストール後に自動起動するように設定されています。インストーラには、ユーザの入力とアップデートの.configファイルを取るカスタムダイアログがあります。入力はオプションです。エラー1079:Windowsサービスの再起動エラー
入力が提供されていない場合、設定ファイルは更新されません。services.mscからWindowsサービスを再起動できます。ユーザーが入力を提供すると、カスタムアクション(遅延)によって構成ファイルが更新されます。このカスタムアクションは、Impersonate = "no"モードで実行されます。
この場合、インストール後にWindowsサービスが自動的に起動し、すべて正常に動作します。しかし、サービスを再起動すると、以下のエラーが発生します。以下は
サービスをインストールするためのコードです:
以下<Component Id="CMPFa85281c3_a329_4a93_a1d7_203fbccec31f" Guid="*" Directory="INSTALLLOCATION">
<Condition>
<![CDATA[Installed OR (SVCINSTALL <> 0)]]>
</Condition>
<RemoveFile Id="RmFa85281c3_a329_4a93_a1d7_203fbccec31f" Name="MyService.exe" On="both" />
<File Id="Fa85281c3_a329_4a93_a1d7_203fbccec31f" Source="$(var.BaseDir)\MyService.exe" KeyPath="yes" />
<ServiceInstall Id="InstallWindowsService" Name="MyService"
DisplayName="MyService"
Start="auto"
ErrorControl="normal"
Type="ownProcess"
Account="[USER_DOMAIN]\[SERVICEUSER]"
Password="[PASSWORD]"
Description="MyService"/>
<ServiceControl Id="sc_InstallWindowsService" Name="MyService"
Start="install" Remove="uninstall" Stop="both" Wait="no"/>
</Component>
は、カスタムアクションのコードです。この種のものから判断
<CustomAction Id="UpdateConfigFiles"
Return="check"
Execute="deferred"
Impersonate="no"
BinaryKey="MyCustomAction.dll"
DllEntry="UpdateFilePath"
HideTarget="yes">
</CustomAction>
<InstallExecuteSequence>
<Custom Action="PassData" Before="UpdateConfigFiles">NOT Installed AND NOT PATCH AND NOT REMOVE</Custom>
<Custom Action="UpdateConfigFiles" Before="InstallFinalize">NOT Installed AND NOT PATCH AND NOT REMOVE</Custom>
</InstallExecuteSequence>
お願いしますか?件名に「Windowsサービスの開始」と表示されますが、「サービスを停止すると」というテキストが表示されます。 – PhilDW
インストール後にサービスが自動的に開始されます。これは正常に動作します。しかし、services.mscから再起動すると起動できません。 –