我是WIX的新手,并且使用最小的GUI来安装和卸载dll。此dll在我安装时调用的自定义安装脚本中注册为服务。
卸载后,我会在自定义脚本中停止并取消注册该服务。
我的问题是,在调用自定义卸载脚本之前,我获取了正在使用的文件对话框,因为服务正在使用dll。我想避免这种情况,因为我知道我将在自定义卸载操作中停止服务。
这个问题的任何简单解决方案?
谢谢! 尼基尔。
答案 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,并且这些可能是错误的位置,以便停止/启动脚本。但是可能会让你知道如何解决你的问题。