无法在 Windows 10 中使用命令行安装网站 msi

Unable to install website msi using command line in Window10

概述:使用 C# 命令行安装 MVC3 网站。该应用程序在 Win7、win8、server 2008 和 2013 中正确安装。正确配置 IIS 后,相同的安装程序无法在 window10 中运行。

错误信息: 产品:Web 客户端——此设置需要 Internet Information Server 5.1 或更高版本以及 Windows XP 或更高版本。此安装程序无法安装在 Windows 2000 上。请安装 Internet Information Server 或更新的操作系统,然后重新 运行 此安装程序。

事件日志 (MsiInstaller) 中的错误消息: Windows 安装程序安装了产品。产品名称:Web 客户端。产品版本:3.x.xx。产品语言:1033。制造商:xxxx。安装成功或错误状态:1603.

安装程序代码

 Process p = new Process();
            p.StartInfo.FileName = msiexec.exe;
            p.StartInfo.Arguments ="/qn /i \"" + Settings.InstallationDirectory + "Website\WebClient.msi\"";
            p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
            p.Start();
            p.WaitForExit();

无法在 IIS 中看到已安装的网站。

我发现条件编辑器存在一些配置问题(对目标机器的要求)

演练:

转到设置项目设置并启动条件编辑器。

右键单击 IIS 条件并查看属性

检查条件公式;它应该如下所示: (IISMAJORVERSION >= "#5" AND IISMINORVERSION >= "#1") 或 IISMAJORVERSION >= "#6"

如果要在 IIS 7.5 及更高版本上安装,请使用以下条件公式:

(IISMAJORVERSION >= "#6" AND IISMINORVERSION >= "#1") 或 IISMAJORVERSION >= "#10"

In Windows 10 默认 IISMINORVERSION 值 = 0(但我的代码是 1,我已经相应地修改了我的设置)。

如何调整最小值和最大值:

  1. 打开系统注册表
  2. 移动到以下位置"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters"

  3. 左侧面板找到 MIN 和 MAX 默认值(参考屏幕下方)

以上对我有用的更改,如果有任何更改请告诉我

从构建的启动条件中删除 <> 并重新构建项目,这就是我解决问题的方法。

更改搜索目标机器条件属性

IISMAJORVERSION、IISMINORVERSION vsdrrHKLM 的根值