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

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

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

如果我手动打开MSI,我可以正常运行。这在Windows Server 2008上...

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

有帮助吗?

解决方案

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提示在Server 2008上被禁用,我仍然必须这样做才能解决。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top