【问题标题】:WIX 3.8 msiexec.exe /quiet Error 1603WIX 3.8 msiexec.exe /安静错误 1603
【发布时间】:2014-01-29 19:14:42
【问题描述】:

我正在使用 WIX 3.8、Windows 8 Pro、Visual Studio 2013,并且正在进行静默安装。

当我在没有 /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。

有什么想法吗?

塔恩克斯

【问题讨论】:

  • 可以分享一下log.txt的内容吗?
  • 它太长了。。我不知道哪个部分。如果你需要我,我可以通过电子邮件发送。谢谢
  • 发送至 chrpai@iswix.com
  • 在日志中查找“值 3”,可能在该行上方有线索。

标签: wix windows-installer silent-installer


【解决方案1】:

根据您发送给我的日志,您的 MSI 需要提升。

并非所有 MSI 都这样做。大多数都这样做。如果您是每台机器上下文中的安装程序和/或写入受限区域(程序文件、HKLM、Windows 等),您将需要提升。通常,当您双击 MSI 时,UI 序列以标准用户身份运行,然后当它转换到 Execute 序列时,它会在需要时提示提升。但是,当您运行 /quiet 时,它不能这样做,所以它只会失败。解决此问题的两种方法是提升调用进程或首先“宣传”MSI,以便系统信任它。在这种情况下,UI->Exec 提升会在没有 UAC 请求的情况下自动发生。

【讨论】:

    【解决方案2】:

    我解决了!!谢谢大家的时间

    我错过了

    p.StartInfo.Verb = "runas";

    我不知道我需要管理员权限才能执行“/quiet”。

    【讨论】:

    • "/quiet" 不需要管理员。您的 MSI 需要管理员。安静只会抑制 MSI 请求提升的能力。请参阅下面的答案。
    猜你喜欢
    • 2015-04-17
    • 2014-09-18
    • 2018-01-03
    • 1970-01-01
    • 1970-01-01
    • 2015-06-14
    • 1970-01-01
    • 2017-11-17
    • 1970-01-01
    相关资源
    最近更新 更多