2015-10-21 259 views
2

我想用Inno Setup安装IIS,但我得到各种错误。用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: ; "

但它显示错误

操作失败,80070057的参数不正确

后我想:

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操作失败尝试加载格式不正确的程序

感谢您的帮助。

+0

你在哪个部分使用?你能给我们一个最小但完整的样本来重现这个问题吗? –

回答

2

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


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

阅读关于File System Redirector的详细信息。

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

[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 

要为Windows的32位和64位版本的安装,你需要有两个项目在[Run]部分,一个用于32位和一个64位,并选择分别使用Check: not IsWin64Check: IsWin64更正。

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

或者使用64-bit install mode

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