如何使用NSIS安装IIS?

如何使用NSIS安装IIS?,iis,iis-7,nsis,Iis,Iis 7,Nsis,我正在构建一个安装和配置iis和php的安装程序 我的iis-install.bat文件: Start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLi

我正在构建一个安装和配置iis和php的安装程序

我的iis-install.bat文件:

Start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-Security;IIS-RequestFiltering;IIS-HttpCompressionStatic;IIS-WebServerManagementTools;IIS-ManagementConsole;WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI;IIS-CGI
My setup.nsi:

Section -iis_installation
  installIIS:
  ;MessageBox MB_YESNO "Allow To Install IIS?" /SD IDYES IDNO permissionModifier
    File "iis-install.bat"
    nsExec::Exec "iis-install.bat"
  endInstall:
SectionEnd
bat文件和setup.nsi都在同一个文件夹中

问题: 编译并运行setup.exe文件时,会出现如下错误:

“atempt以不正确的格式加载程序”

除了iis-install.bat之外,其他批处理文件都可以使用nsis正常运行。为什么


请帮助解决此问题,或建议使用nsis安装iis的其他想法。

如果批处理文件只包含一个命令,为什么要使用它?启动的等待参数为/wait not/w


请尝试
nsExec::Exec'“c:\full\path\to\pkgmgr.exe”/iu:IIS WebServerRole;。。。;WAS过程模型;是网络环境;WAS配置api;IIS-CGI'

感谢您的回复,但即使尝试了您的备选方案,也会得到相同的结果。你能建议我通过NSIS安装iis的其他方法吗?我想你的安装程序正在运行?你看到了吗?如果你不介意,请详细说明“提升”。我正在查看您发布的链接页面,我将在几分钟内回复您…我使用的是windows 7 64位,因为您的链接说明了DISM在安装iis时的用法,您能否告诉我,我的iis安装命令如何随DISM而更改。提升意味着您拥有“RequestExecutionLevel admin”在.nsi中,您将获得一个您接受的UAC对话框,以便安装程序进程以管理员身份运行。我对DISM或IIS一无所知。。。