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

Wix安装程序-服务未启动-缺少引用

好吧,原来我启动的服务的名称不同。我在第一个实例中有空格,但在下一个实例中没有。所以问题出在

<ServiceInstall Name="Name Of Service"

<ServiceControl Id="StartWindowsService" Name="NameOfService"

我现在更新了变量。

感谢您的建议,感谢Wix提供的有用的错误消息。:)