卸载过程中如何摆脱“使用中的文件”对话框?

时间:2013-08-29 10:20:34

标签: wix

我是WIX的新手,并且使用最小的GUI来安装和卸载dll。此dll在我安装时调用的自定义安装脚本中注册为服务。

卸载后,我会在自定义脚本中停止并取消注册该服务。

我的问题是,在调用自定义卸载脚本之前,我获取了正在使用的文件对话框,因为服务正在使用dll。我想避免这种情况,因为我知道我将在自定义卸载操作中停止服务。

这个问题的任何简单解决方案?

谢谢! 尼基尔。

1 个答案:

答案 0 :(得分:0)

您是否使用自定义操作来停止服务?如果是这样,我会确保在删除文件之前运行自定义操作

<CustomAction Id="StopService" Directory="DirMyService" ExeCommand="NET STOP ServiceName" />
<CustomAction Id="StartService" Directory="DirMyService" ExeCommand="NET START ServiceName" />

<InstallExecuteSequence>
  <Custom Action="StopService" After="InstallInitialize">Installed</Custom>
  <Custom Action="StartService" Before="InstallFinalize">Installed</Custom>
</InstallExecuteSequence>

没有对此进行测试,因此您可能需要在网络停止等之前坚持使用windir,并且这些可能是错误的位置,以便停止/启动脚本。但是可能会让你知道如何解决你的问题。