【发布时间】:2013-06-19 02:05:01
【问题描述】:
我正在尝试自动化安装过程,在该过程中我卸载以前的版本并在顶部安装较新的版本。如果卸载成功,我应该如何测试(在我的引导程序中,用 C# 编码)?
这是我目前启动卸载的方式。
Process p = Process.Start("msiexec", /*various switches*/);
p.WaitForExit();
我目前也在纠结动态多实例,这真的让我心烦意乱,所以在 WiX 本身中处理这个问题即使不是不可能也很困难。
【问题讨论】:
-
@Soner Gönül:我有多种方法可以解决这个问题,我可以设置一个名为“卸载成功”的注册表项,然后将其设置为 true 作为卸载时的自定义操作——但是这个非常脏。如果您有任何好的做法或好的想法,我想在提交之前先听听。
-
您应该通过检查文件、目录、注册表项等是否存在来镜像您以前版本的安装程序...
-
@Romoku 无法保证我检查的任何文件或文件夹在产品生命周期的后期仍然存在。
-
你可以为每个版本保留一个信息目录,用于验证应用程序的完整性,或者创建某种更新程序来管理安装/卸载,然后假设它不存在机器很干净。
-
@Romoku 它们仍然是相当肮脏的修复,如果代码结构允许,我会让 WiX 处理更新。
标签: c# .net wix multiple-instances windows-installer