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

How to do Silent installation without UAC or App Is running as admin?

我想进行静默安装。我知道执行此操作的命令 "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();

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

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

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