【问题标题】:Trouble with msi exit code 1625 when running msi programmatically以编程方式运行 msi 时出现 msi 退出代码 1625 的问题
【发布时间】:2011-01-07 21:19:55
【问题描述】:

退出代码 1625 是“系统策略禁止此安装。请联系您的系统管理员。”

我正在做的是这样称呼它:

Process installProcess = Process.Start(msiPath, "/quiet");

如果我手动打开它,我可以很好地运行 msi。这是在 Windows Server 2008 上...

这样做的目的是用最新版本自动更新我的 .net 表单程序。有人知道是什么设置导致了这种情况吗?我的意思是,客户将使用 vista/7/xp,但我仍然需要知道什么样的安全设置会破坏我的计划。

【问题讨论】:

    标签: windows-server-2008 windows-installer


    【解决方案1】:
    ProcessStartInfo startInfo = new ProcessStartInfo();
    startInfo.Arguments = "/i " +  "\""+Directory.GetCurrentDirectory()+"\\"+msiPath +"\"" +" /q";
    startInfo.FileName = "msiexec.exe";
    startInfo.Verb = "runas";
    
    
    Process installProcess = Process.Start(startInfo);
    

    以这种方式调用 msi 就可以了。

    我认为是某种 UAC 问题。 runas 动词以某种方式提升了程序的权限。即使我的 UAC 提示在服务器 2008 上被禁用,我仍然必须这样做才能绕过它.. 奇怪吧?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-07
      • 2011-02-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多