我正在构建一个安装程序,用于安装和配置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
我的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文件时,它将发出如下错误:
"尝试以不正确的格式加载程序"
除了iis-install.bat之外,其他批处理文件与nsis一起正常运行?
请帮助解决问题或建议使用nsis安装iis的任何其他想法。
答案 0 :(得分:1)
如果只包含一个命令,为什么要使用批处理文件?而start的等待参数是/ WAIT not / w!
尝试nsExec::Exec '"c:\full\path\to\pkgmgr.exe" /iu:IIS-WebServerRole;...;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI;IIS-CGI'