如何在没有UAC或App的情况下进行静默安装以管理员身份运行?

时间:2016-05-09 10:49:31

标签: c# wix windows-installer msiexec silent-installer

我想做静音安装。我知道执行“msiexec.exe / qn”的命令,但如果我的应用程序没有以管理员身份运行,我就不能这样做。 注意: - 我的msi安装程序是使用WIX工具集

创建的
Process process = new Process
        {
            StartInfo =
            {
                FileName = @"msiexec.exe",
                Arguments = string.Format(@"/i ""E:\Build 16\ColiboConnect.msi"" /qn"),
                UseShellExecute = false,
                RedirectStandardInput = true,
                RedirectStandardOutput = true,
                RedirectStandardError = true,
                CreateNoWindow = false
            }
        };
        process.Start();
        process.WaitForExit();

2 个答案:

答案 0 :(得分:1)

您正在请求安装MSI,因此MSI不会显示任何UI - 也不会显示UAC对话框。

您的父进程必须已使用提升的权限运行,或者您必须从Windows请求提升并使用权限令牌运行新进程。

答案 1 :(得分:0)

我们使用Windows服务解决了我们的问题。我们的应用程序将下载新的msi,然后调用WCF服务,传递安装程序的路径,服务将安装新版本没有任何问题,因为我们的服务在本地帐户系统下运行,我认为这是唯一支持的解决方案