我对 WIX 很陌生,并且正在使用最小的 GUI 来安装和卸载 dll。此 dll 在我在安装时调用的自定义安装脚本中注册为服务。
卸载后,我在自定义脚本中停止并取消注册该服务。
我的问题是,在调用自定义卸载脚本之前,我得到了正在使用的文件对话框,因为服务正在使用 dll。我想避免这种情况,因为我知道我将在自定义卸载操作中停止服务。
这个问题有什么简单的解决方案吗?
谢谢!尼基尔。
我对 WIX 很陌生,并且正在使用最小的 GUI 来安装和卸载 dll。此 dll 在我在安装时调用的自定义安装脚本中注册为服务。
卸载后,我在自定义脚本中停止并取消注册该服务。
我的问题是,在调用自定义卸载脚本之前,我得到了正在使用的文件对话框,因为服务正在使用 dll。我想避免这种情况,因为我知道我将在自定义卸载操作中停止服务。
这个问题有什么简单的解决方案吗?
谢谢!尼基尔。
您是否使用自定义操作来停止服务?如果是这样,我会确保在删除文件之前运行您的自定义操作
IE
<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,而这些可能是放置它以停止/启动脚本的错误位置。但可能会让您了解如何解决您的问题。