Wix安装程序-服务未启动-缺少引用
本文关键字:引用 启动 服务 安装 程序 Wix | 更新日期: 2023-09-27 18:25:10
我有一个wix安装程序,它请求输入连接字符串数据,然后安装服务。问题是安装后服务无法启动。
以下是文件的相关代码:
<File Id="EmailQueueProcessorExe" DiskId="1" Name="$(var.EmailQueueProcessor.TargetFileName)" Vital="yes" Source="$(var.EmailQueueProcessor.TargetPath)" KeyPath="yes" />
<File Id="EmailQueueProcessorConfig" Name="$(var.EmailQueueProcessor.TargetFileName).config" KeyPath="no" Source="$(var.EmailQueueProcessor.TargetPath).config"/>
它在安装时所做的是完成一部分,然后显示经典的通用消息:"服务无法启动,请验证您是否有足够的权限启动系统服务"。当我早些时候看到这条消息时,它是由缺少参考资料引起的,然后我添加了这些参考资料
我已经打开了详细的错误日志记录,但看不到任何奇怪的东西——以下是它的最后几行,很有可能会揭示一些信息:
MSI (s) (50:08) [16:02:05:851]: Running as a service.
MSI (s) (50:08) [16:02:05:852]: Hello, I'm your 32bit Elevated custom action server.
MSI (s) (50:50) [16:02:05:896]: Executing op: ActionStart(Name=InstallServices,Description=Installing new services,Template=Service: [2])
Action 16:02:05: InstallServices. Installing new services
MSI (s) (50:50) [16:02:05:897]: Executing op: ProgressTotal(Total=1,Type=1,ByteEquivalent=1300000)
MSI (s) (50:50) [16:02:05:897]: Executing op: ServiceInstall(Name=Email Queue Processor Service,DisplayName=Email Queue Processor Service,ImagePath="C:'Program Files (x86)'My Company'Email Queue'EmailQueueProcessor.exe",ServiceType=16,StartType=2,ErrorControl=32769,,Dependencies=[~],,StartName=NT AUTHORITY'LocalService,Password=**********,Description=Program to install Email Queue service,,)
InstallServices: Service:
MSI (s) (50:50) [16:02:06:000]: Executing op: ActionStart(Name=StartServices,Description=Starting services,Template=Service: [1])
Action 16:02:06: StartServices. Starting services
MSI (s) (50:50) [16:02:06:003]: Executing op: ProgressTotal(Total=1,Type=1,ByteEquivalent=1300000)
MSI (s) (50:50) [16:02:06:003]: Executing op: ServiceControl(,Name=EmailQueueProcessorService,Action=1,Wait=0,)
StartServices: Service: EmailQueueProcessorService
我在某个地方看到这可能取决于管理员权限,所以我添加了以下内容:
<Property Id="MSIUSEREALADMINDETECTION" Value="1" />
并添加到CCD_ 1标签
InstallPrivileges="elevated"
但没有成功。
有谁比我对WIX更有经验,知道如何调试这种东西吗?
更新-事件日志条目
Product: EmailQueueProcessorInstaller -- Installation failed.
Windows Installer installed the product. Product Name: EmailQueueProcessorInstaller. Product Version: 1.0.0.0. Product Language: 1033. Manufacturer: My Company. Installation success or error status: 1603.
更新2-完整日志文件
以下是完整日志文件的链接:http://pastebin.com/FxdPZeH6
好吧,原来我启动的服务的名称不同。我在第一个实例中有空格,但在下一个实例中没有。所以问题出在
<ServiceInstall Name="Name Of Service"
和
<ServiceControl Id="StartWindowsService" Name="NameOfService"
。
我现在更新了变量。
感谢您的建议,感谢Wix提供的有用的错误消息。:)