使用WIX从UAC启动Win 7上的卸载时停止服务

时间:2009-12-23 07:27:43

标签: wix windows-services installer wix3

如何在WIX上使用UAC在Win7或Vista中卸载我的服务? 当我从Win7或Vista中的控制面板卸载我的服务与UAC时,我总是得到“文件正在使用消息”。如何阻止它以便不显示消息? 我在Wix中有这段代码:

     <ServiceInstall Id='MyServiceInstall' DisplayName='OnPremises Gateway' Name='OPGatewayService'
  ErrorControl='normal' Start='auto' Type='ownProcess' Vital='yes' Account='NT AUTHORITY\NetworkService'   />
          <ServiceControl Id="StartOPGatewayServiceControl" Name="OPGatewayService" Wait="no" Start="install"  />
          <ServiceControl Id="StopOPGatewayServiceControl" Name="OPGatewayService" Stop="both" Wait="yes" Remove="uninstall"/>

谢谢你, 阿德里安娜

2 个答案:

答案 0 :(得分:0)

不幸的是,“正在使用的文件”检测是早期的。查看有关其互动的MSI SDK文档:http://msdn.microsoft.com/en-us/library/aa372466(VS.85).aspx

答案 1 :(得分:-1)

在对此进行更多调查之后,解决方案是使用卸载程序(如Uninstall.exe),该程序在任何暗示系统更改的操作(如停止服务)之前需要用户的管理员权限。从该程序运行MsiExec.exe / X [MsiProductId]