Я устанавливаю вместе с моим приложением:
1) сервис, который запускает и останавливает мое приложение по мере необходимости
2) файл conf, который на самом деле содержит данные пользователя и который будет показан пользователю для изменения по мере необходимости (я даю пользователю возможность изменить его, запустив notepad.exe с моим файлом conf во время установки)
Проблема в том, что в моем коде устанавливаемая мной служба запускается до того, как пользователь сможет изменить файл conf. То, что я хотел бы, это:
1) сначала пользователь получает возможность изменить файл conf (запустите notepad.exe с файлом conf)
2) только после запуска услуги
<Component Id="MyService.exe" Guid="GUID">
<File Id="MyService.exe" Source="MyService.exe" Name="MyService.exe" KeyPath="yes" Checksum="yes" />
<ServiceInstall Id='ServiceInstall' DisplayName='MyService' Name='MyService' ErrorControl='normal' Start='auto' Type='ownProcess' Vital='yes'/>
<ServiceControl Id='ServiceControl' Name='MyService' Start='install' Stop='both' Remove='uninstall'/>
</Component>
<Component Id="my.conf" Guid="" NeverOverwrite="yes">
<File Id="my.cfg" Source="my.cfg_template" Name="my.cfg" KeyPath="yes" />
</Component>
[...]
<Property Id="NOTEPAD">Notepad.exe</Property>
<CustomAction Id="LaunchConfFile" Property="NOTEPAD" ExeCommand="[INSTALLDIR]my.cfg" Return="ignore" Impersonate="no" Execute="deferred"/>
<!--Run only on installs-->
<InstallExecuteSequence>
<Custom Action='LaunchConfFile' Before='InstallFinalize'>(NOT Installed) AND (NOT UPGRADINGPRODUCTCODE)</Custom>
</InstallExecuteSequence>
Что я делаю не так в приведенном выше коде и как я могу изменить его, чтобы добиться того, что мне нужно? (сначала запустите блокнот с моим файлом конфигурации, а затем запустите службу).