【问题标题】:Install IIS with Inno Setup使用 Inno Setup 安装 IIS
【发布时间】:2015-10-21 20:44:28
【问题描述】:

我正在尝试使用 Inno Setup 安装 IIS,但出现各种错误。

我在 DOS 上尝试了命令并且工作正常:

start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-ManagementService;IIS-CGI;IIS-RequestFiltering;IIS-ASPNET;IIS-HttpLogging;IIS-NetFxExtensibility;IIS-HttpErrors;IIS-DefaultDocument;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-StaticContent;IIS-ManagementConsole;IIS-DirectoryBrowsing;IIS-WindowsAuthentication;IIS-WebServer;

我尝试在 Inno Setup 中使用它:

Filename: pkgmgr; Parameters: "/iu:IIS-WebServerRole; IIS-WebServer: ; IIS-CommonHttpFeatures: ; IIS-ManagementService: ; IIS-CGI: ; IIS-RequestFiltering: ; IIS-ASPNET: ; IIS-HttpLogging: ; IIS-NetFxExtensibility: ; IIS-HttpErrors: ; IIS-DefaultDocument: ; IIS-ISAPIExtensions: ; IIS-ISAPIFilter: ; IIS-StaticContent: ; IIS-ManagementConsole: ; IIS-DirectoryBrowsing: ; IIS-WindowsAuthentication: ; IIS-WebServer: ; "

但它显示错误

操作失败,0x80070057 参数不正确

我试过之后:

Filename: pkgmgr; Parameters: "/iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-ManagementService;IIS-CGI;IIS-RequestFiltering;IIS-ASPNET;IIS-HttpLogging;IIS-NetFxExtensibility;IIS-HttpErrors;IIS-DefaultDocument;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-StaticContent;IIS-ManagementConsole;IIS-DirectoryBrowsing;IIS-WindowsAuthentication;IIS-WebServer;";

但显示错误

操作失败,出现 0x8007000B 尝试加载格式不正确的程序

感谢您的帮助。

【问题讨论】:

    标签: windows iis inno-setup


    【解决方案1】:

    您的第一个语法只是使用了错误的参数格式(明显不同于命令行上适合您的格式)。


    第二种语法的问题可能是您在 64 位 Windows 上运行安装程序。 Inno Setup 安装程序是 32 位应用程序,因此默认会找到 32 位版本的 pkgmgr (C:\Windows\SysWOW64\PkgMgr.exe),无法安装 64 位 IIS。

    详情请阅读File System Redirector

    添加 Flags: 64bit 以使 Inno Setup 找到 pkgmgr (C:\Windows\System32\PkgMgr.exe) 的 64 位版本。

    [Run]
    Filename: pkgmgr; \
        Parameters: "/iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-ManagementService;IIS-CGI;IIS-RequestFiltering;IIS-ASPNET;IIS-HttpLogging;IIS-NetFxExtensibility;IIS-HttpErrors;IIS-DefaultDocument;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-StaticContent;IIS-ManagementConsole;IIS-DirectoryBrowsing;IIS-WindowsAuthentication;IIS-WebServer"; \
        Flags: 64bit
    

    要在 32 位和 64 位版本的 Windows 上启用安装,您需要在 [Run] 部分中有两个条目,一个用于 32 位,一个用于 64 位,并使用 @987654330 选择正确的一个分别是@和Check: IsWin64

    [Run]
    Filename: pkgmgr; \
        Parameters: "..."; \
        Check: not IsWin64
    Filename: pkgmgr; \
        Parameters: "..."; \
        Flags: 64bit; Check: IsWin64
    

    或使用64-bit install mode

    它将使 Inno Setup 自动找到正确版本的 pkgmgr

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-21
      • 2015-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多