使 Windows Installer 忽略正在运行的进程
使用Installshield 2010和Basic MSI项目。
我有一个以前由我的安装程序安装的 exe。该 exe 需要在安装程序升级期间运行。有没有办法保证安装程序不会尝试关闭进程?基本上,我希望的行为是:如果文件不存在,请将其放下,否则忽略它。
我已将 exe 设为组件中的关键文件,并将其“从不覆盖”设置为 true。这应该给我我想要的行为吗?
Using Installshield 2010 and Basic MSI project.
I have an exe that was previously installed by my installer. That exe needs to be running during an installer upgrade. Is there a way to guarantee that the installer won't try shutdown the process? Basically, I would like the behavior to be : If file doesn't exist, lay it down, otherwise ignore it.
I have made the exe a key file in a component and set it 'Never Overwrite' to true. Should this give me my desired behavior ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
未来的安装程序将使用 Never Overwrite 来确定该文件是否会被其他 MSI 软件包覆盖。基本上,应该为已安装的 EXE 设置此属性。
一个好的方法是使用文件搜索确定 EXE 是否存在。然后可以使用搜索属性来调节新组件。
Windows Installer 不会自动关闭应用程序,但它会显示一个 FilesInUse 对话框,向用户提供此选项。
Never Overwrite will be used by future installers to determine if the file will be overwritten or not by other MSI packages. Basically, this attribute should have been set for the installed EXE.
A good approach is to use a file search to determine if the EXE exists. The search property can then be used to condition the new component.
Windows Installer doesn't automatically close applications, but it does show a FilesInUse dialog which offers this option to the user.