我正在使用WIX 3.8,Windows 8 Pro,Visual Studio 2013,我正在进行静默安装。
当我使用no / quiet参数运行时,Ir运行正常。但是当我把“/ quiet”放进去的时候,没有发生。
/ qn参数存在一些问题......任何其他参数运行正常。
string arg =“SetupWIX.msi”;
Process p = new Process(); p.StartInfo.FileName = "msiexec.exe"; p.StartInfo.CreateNoWindow = true; p.StartInfo.Arguments = "/i " + arg +" /quiet /l*v log.txt"; p.Start();
它给出错误3。
MainEngineThread返回1603。
任何想法?
Tahnks
答案 0 :(得分:5)
根据您发送给我的日志,您的MSI需要提升。
并非所有MSI都这样做。大部分都做。如果您是每台机器上下文中的安装程序和/或写入限制区域(程序文件,HKLM,Windows等),您将需要提升。通常,当您双击MSI时,UI序列作为标准用户运行,然后当它转换为执行序列时,如果需要,它将提示提升。但是当你运行/ quiet时它不能这样做,所以它只是失败了。解决这个问题的两种方法是提升调用过程或首先“通告”MSI,以便系统信任它。在这种情况下,UI-> Exec提升会在没有UAC请求的情况下自动发生。
答案 1 :(得分:0)
我解决了!非常感谢yopu所有的时间
我是MIssing
p.StartInfo.Verb =“runas”;
我不知道我需要管理员权限来执行“/ quiet”。