我正在尝试使用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尝试加载格式不正确的程序
感谢帮助。
答案 0 :(得分:2)
你的第一个语法只是使用了错误的参数格式(明显不同于在命令行上适合你的那个)。
第二种语法的问题可能是您在64位Windows上运行安装程序。 Inno安装程序安装程序是32位应用程序,因此默认情况下会找到32位版本的pkgmgr
(C:\Windows\SysWOW64\PkgMgr.exe
),它无法安装64位IIS。
添加Flags: 64bit
以使Inno Setup找到64位版本的pkgmgr
(C:\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
要在32位和64位版本的Windows上启用安装,您需要在[Run]
部分中有两个条目,一个用于32位,一个用于64位,并选择正确的一个<{1}}和Check: not IsWin64
。
Check: IsWin64
这将使Inno Setup自动找到[Run]
Filename: pkgmgr; \
Parameters: "..."; \
Check: not IsWin64
Filename: pkgmgr; \
Parameters: "..."; \
Flags: 64bit; Check: IsWin64
的正确版本。