C# MSI安装程序未更新的在用文件(Visual Studio安装程序项目)
我正在使用扩展为我的应用程序构建MSI安装程序。但是,我的应用程序应该一直运行,如果在用户安装我的软件的新版本时它处于打开状态,则打开的文件不会被覆盖,并且实际上几乎没有更新(尽管没有安装程序错误) 我发现,使用安装程序项目的“自定义操作”来运行关闭应用程序的脚本没有帮助,因为在替换文件之前没有调用任何操作C# MSI安装程序未更新的在用文件(Visual Studio安装程序项目),c#,visual-studio,windows-installer,visual-studio-setup-proje,visual-studio-setup,C#,Visual Studio,Windows Installer,Visual Studio Setup Proje,Visual Studio Setup,我正在使用扩展为我的应用程序构建MSI安装程序。但是,我的应用程序应该一直运行,如果在用户安装我的软件的新版本时它处于打开状态,则打开的文件不会被覆盖,并且实际上几乎没有更新(尽管没有安装程序错误) 我发现,使用安装程序项目的“自定义操作”来运行关闭应用程序的脚本没有帮助,因为在替换文件之前没有调用任何操作 有没有一种好方法可以确保打开/锁定的文件在被覆盖之前被终止?我们遇到了这个问题,我们提出的解决方案是创建两个应用程序;用户应用程序和更新程序应用程序。MSI会同时安装这两个组件。每个应用程序
有没有一种好方法可以确保打开/锁定的文件在被覆盖之前被终止?我们遇到了这个问题,我们提出的解决方案是创建两个应用程序;用户应用程序和更新程序应用程序。MSI会同时安装这两个组件。每个应用程序检查另一个应用程序是否需要更新,如果需要,则关闭另一个应用程序,下载另一个应用程序的更新程序,运行它,然后重新启动另一个应用程序。此外,每个应用程序都会监视另一个应用程序是否正在运行,如果没有,则会启动它。我们遇到了这个问题,我们提出的解决方案是创建两个应用程序;用户应用程序和更新程序应用程序。MSI会同时安装这两个组件。每个应用程序检查另一个应用程序是否需要更新,如果需要,则关闭另一个应用程序,下载另一个应用程序的更新程序,运行它,然后重新启动另一个应用程序。此外,每个应用程序都会监视另一个应用程序是否正在运行,如果没有,则会启动它。重新启动:如何安装此MSI?什么命令行?如果在命令行上设置了
REBOOT=ReallySuppress
,则即使完成产品安装需要重新启动,也不会提示您重新启动
msiexec.exe /i MySetup.msi /QN REBOOT=ReallySuppress
如果您使用的是分发系统,我想禁止重新启动提示可能是标准行为。然后,您的产品文件应该在重新启动(或者某些更新的机制)后放置到位
VisualStudio安装程序项目也可能会做一些我不知道的奇怪的事情
Log:我会尝试,以确定发生了什么:
msiexec.exe /i C:\Path\Your.msi /L*v C:\Your.log
记录所有MSI:我个人喜欢为所有MSI安装启用日志记录-如上面链接中“全局记录机器上的所有设置”
”部分所述
解释MSI日志:解释日志文件有时会很困难
重新启动管理器:重新启动管理是一个非常复杂的主题,Windows的功能(以的形式)旨在尽量减少重新启动的需要,而不是在安装过程中以“自动神奇”的方式关闭和重新启动应用程序(应用程序侦听消息并在接到通知时自动关闭,系统可能会在安装后重新启动应用程序(如果配置为这样做) 在我看来,更新应用程序以符合重启管理器是解决此类问题的唯一方法
- (也许只是把黄色部分往下读一读)
- 伙计们有一篇关于这方面的非常好的技术文章: 也直接链接到上面的链接中-我认为这里仍然值得直接链接
REBOOT=ReallySuppress
,即使需要重新启动才能完成产品的安装,也不会提示您重新启动
msiexec.exe /i MySetup.msi /QN REBOOT=ReallySuppress
如果您使用的是分发系统,我想禁止重新启动提示可能是一种标准行为。然后,您的产品文件应该在重新启动(或者某种更新的机制)后放置到位
VisualStudio安装程序项目也可能会做一些我不知道的奇怪的事情
Log:我会尝试,以确定发生了什么:
msiexec.exe /i C:\Path\Your.msi /L*v C:\Your.log
记录所有MSI:我个人喜欢为所有MSI安装启用日志记录-如上面链接中“全局记录机器上的所有设置”
”部分所述
解释MSI日志:解释日志文件有时会很困难
重新启动管理器:重新启动管理是一个非常复杂的主题,Windows的功能(以的形式)旨在尽量减少重新启动的需要,而不是在安装过程中以“自动神奇”的方式关闭和重新启动应用程序(应用程序侦听消息并在接到通知时自动关闭,系统可能会在安装后重新启动应用程序(如果配置为这样做) 在我看来,更新应用程序以符合重启管理器是解决此类问题的唯一方法
- (也许只是把黄色部分往下读一读)
- 伙计们有一篇关于这方面的非常好的技术文章: 也直接链接到上面的链接中-我认为这里仍然值得直接链接
了解更多有关您的应用程序以及如何进行升级的信息将非常有用,因为: