WiX에 몇 가지 추가 파일이있는 서비스를 설치하고 실제 서비스 EXE 파일을 정의하려면 어떻게해야합니까?WiX (2.0)를 사용하여 다중 파일 NT 서비스 설치
시나리오 : 난 그냥 하나의 EXE 파일을이었다 서비스가 있고,이 코드 윅스에서 Windows NT 서비스로 설치 :
<Component Id='InstallMyServiceComponent' Guid='{....}' DiskId='1'>
<File Id='InstallMyServiceEXEFile' LongName='MyService.exe'
Name='MyServ.exe' src='MyService/bin/release/MyService.exe' KeyPath='yes'/>
<ServiceInstall Id='InstallMyService' Name='MyService' Description='My Service'
ErrorControl='normal' Start='auto' Type='ownProcess' Vital='yes' />
<ServiceControl Id='UninstallMyService' Name='MyService' Remove='uninstall'
Wait='yes' />
</Component>
<Component Id='RunMyServiceComponent' Guid='.......'>
<ServiceControl Id='RunMyService' Name='MyService' Start='install'
Stop='uninstall' Wait='no' />
</Component>
난 후 설치할 수 있도록 해주는 기능을 가지고 선택적으로이 서비스를 시작하십시오.
지금 내 문제는 - 이제 내 서비스가 커 졌으므로 단일 EXE가 더 이상 단일 EXE가 아니며 다중 파일, EXE, DLL 및 몇 가지 지원 파일입니다.
그러나 어떻게 설치할 수 있습니까 ??
<Component Id="MyService" Guid="......" DiskId="1">
<File Id="fileMyService_framework_dll" LongName="Framework.dll"
Name="Framewrk.DLL" src="MyService\Framework.dll" />
<File Id="fileMyService_dal_dll" LongName="MyServiceDAL.dll"
Name="SrvcDAL.DLL" src="MyService\ServiceDAL.dll" />
<File Id="fileMyService_helpers_dll" LongName="Helpers.dll"
Name="Helpers.DLL" src="MyService\Helpers.dll" />
<File Id="fileMyService_exe" LongName="MyService.exe"
Name="MySrv.EXE" src="MyService\MyService.exe" />
<ServiceInstall Id='InstallMyService' Name='MyService'
Description='My Service' ErrorControl='normal' Start='auto'
Type='ownProcess' Vital='yes' />
<ServiceControl Id='UninstallMyService' Name='MyService'
Remove='uninstall' Wait='yes' />
</Component>
하지만 내 "프레임 워크 :
는 난 그냥이 구성 요소에 ServiceInstall 및하여 ServiceControl 태그를 추가하려고<Component Id="MyService" Guid="......" DiskId="1">
<File Id="fileMyService_framework_dll" LongName="Framework.dll"
Name="Framewrk.DLL" src="MyService\Framework.dll" />
<File Id="fileMyService_dal_dll" LongName="MyServiceDAL.dll"
Name="SrvcDAL.DLL" src="MyService\ServiceDAL.dll" />
<File Id="fileMyService_helpers_dll" LongName="Helpers.dll"
Name="Helpers.DLL" src="MyService\Helpers.dll" />
<File Id="fileMyService_exe" LongName="MyService.exe"
Name="MySrv.EXE" src="MyService\MyService.exe" />
</Component>
먼저 내 모든 파일과 구성 요소를 가지고 노력했다. dll "은 생성되는 서비스의 소스 경로로 설정됩니다 ........
그래서 실제로 ServiceInstall을 사용하여 서비스를 설치하는 두 번째 구성 요소를 만들 것입니다. , 그리고 난 그냥 FileRef를 사용하여 해당 서비스 EXE 파일을 참조 -하지만 그 존재하지 않는 것 같습니다 (적어도 Wix2).
<Component Id='InstallMyServiceComponent' Guid='{....}' DiskId='1'>
<FileRef Id='fileMyService_exe' KeyPath='yes'/>
<ServiceInstall Id='InstallMyService' Name='MyService'
Description='My Service' ErrorControl='normal' Start='auto'
Type='ownProcess' Vital='yes' />
<ServiceControl Id='UninstallMyService' Name='MyService'
Remove='uninstall' Wait='yes' />
</Component>
그래서 - 파일의 구성 요소의 목록에서 올바른 EXE 파일 (뿐만 아니라 임의의 파일을 선택하기 위해 NT 서비스 설치에 필요한 모든 파일을 설치하고, 여전히 얻을 않는 가난한 윅스 저자 꼭 무엇인가) ??
마크
File 요소의 exe에 KeyPath = 'yes'를 설정하는 것을 잊었습니다. –
고마워요, 셰이 - 롭의 대답이 진술을 확인하는 것 같습니다 - 크게 감사드립니다! –