无法在 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,我已经相应地修改了我的设置)。
如何调整最小值和最大值:
- 打开系统注册表
移动到以下位置"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters"
左侧面板找到 MIN 和 MAX 默认值(参考屏幕下方)
以上对我有用的更改,如果有任何更改请告诉我
从构建的启动条件中删除 <> 并重新构建项目,这就是我解决问题的方法。
更改搜索目标机器条件属性
IISMAJORVERSION、IISMINORVERSION vsdrrHKLM 的根值
概述:使用 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,我已经相应地修改了我的设置)。
如何调整最小值和最大值:
- 打开系统注册表
移动到以下位置"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters"
左侧面板找到 MIN 和 MAX 默认值(参考屏幕下方)
以上对我有用的更改,如果有任何更改请告诉我
从构建的启动条件中删除 <> 并重新构建项目,这就是我解决问题的方法。
更改搜索目标机器条件属性
IISMAJORVERSION、IISMINORVERSION vsdrrHKLM 的根值