【问题标题】:How can I make a ClickOnce installer uninstall a previous version installed via .msi?如何让 ClickOnce 安装程序卸载通过 .msi 安装的先前版本?
【发布时间】:2011-03-13 14:19:21
【问题描述】:

我已经提出申请(Visual Studio 2008)。第一个版本的安装程序基于MSI(即部署项目)。但是对于应用程序的第二个版本,我认为 ClickOnce 更适合我的需求。

我可以将安装程序设置为较新的版本(基于 ClickOnce)以卸载以前的版本(基于 MSI)吗?如果是,怎么做?

【问题讨论】:

    标签: visual-studio-2008 deployment windows-installer clickonce


    【解决方案1】:

    没有为此提供任何机制。您可以使用 FullTrust ClickOnce 应用程序执行此操作,然后运行 ​​msiexec /x <product guid>,并确保使用 runas 动词调用它,以便提示 UAC 提升。比如……

    var options = new ProcessStartInfo
        {
            Verb = "runas", //Needed in Vista and Windows 7 for UAC
            Arguments = "/qn /x <your product guid>", //qn = quiet with no UI
            FileName = "msiexec"
        };
    Process.Start(options);
    

    【讨论】:

    • 假设为相同的用户配置文件和/或所有用户安装了 MSI,并且该用户具有管理员权限。就我个人而言,我无法想象你为什么会从 MSI 切换到 ClickOnce,但嘿,我猜这就是我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-03
    • 2011-01-05
    • 1970-01-01
    • 2012-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多