我有一个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"/>
它在安装时所做的是通过部分方式然后调出经典的通用消息:&#34;服务无法启动,验证您是否有足够的权限来启动系统服务&#34;。当我之前遇到该消息时,它是由缺少的引用引起的,然后我将其添加到其中。
我已经打开了详细的错误记录,但是看不到任何奇怪的事情 - 这是它的最后几行,它有可能发现一些亮点:
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" />
并添加到Package
代码
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
答案 0 :(得分:0)
好的,事实证明我开始的服务名称不同。 我在第一个实例中有空格但在下一个实例中没有空格。所以问题是
<ServiceInstall Name="Name Of Service"
和
<ServiceControl Id="StartWindowsService" Name="NameOfService"
。
我现在用变量更新了。
感谢您的建议,感谢Wix提供的有用的错误消息。 :)