【问题标题】:How to Install IIS with NSIS?如何使用 NSIS 安装 IIS?
【发布时间】:2014-05-21 12:02:09
【问题描述】:

我正在构建一个安装程序,用于安装和配置 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。

【问题讨论】:

    标签: iis iis-7 nsis


    【解决方案1】:

    如果批处理文件只包含一个命令,为什么还要使用它?而 start 的等待参数是 /WAIT 而不是 /w!

    试试nsExec::Exec '"c:\full\path\to\pkgmgr.exe" /iu:IIS-WebServerRole;...;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI;IIS-CGI'

    【讨论】:

    • 感谢您的回复,但即使在尝试了您的替代方案之后,它也会产生相同的结果。你能建议我通过 NSIS 安装 iis 的其他方法吗?
    • 我假设您的安装程序正在运行提升?你看过这个social.msdn.microsoft.com/Forums/windowsdesktop/en-US/… 吗?
    • 如果您不介意,请详细说明“提升”。我正在查看您发布的链接页面,我会在几分钟内回复您...
    • 我使用的是 windows 7 64bit,因为您的链接说明了使用 DISM 安装 iis,您能告诉我我的 iis 安装命令如何随 DISM 变化。
    • 提升意味着您的 .nsi 中有“RequestExecutionLevel admin”,并且您会收到一个您接受的 UAC 对话框,以便安装程序进程以管理员身份运行。我对 DISM 或 IIS 一无所知...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多