我正在尝试在64位计算机上安装IIS。 安装是32位c#应用程序。
代码如下(取自here):
Process proc = new Process();
string cmd = @"C:\Windows\System32\pkgmgr.exe";
string cmdargument =
@" start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;
IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HttpRedirect;IIS-ApplicationDevelopment;
IIS-ASPNET;IIS-NetFxExtensibility;IIS-ASP;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-HealthAndDiagnostics;IIS-HttpLogging;
IIS-LoggingLibraries;IIS-RequestMonitor;IIS-HttpTracing;IIS-CustomLogging;IIS-Security;IIS-WindowsAuthentication;
IIS-RequestFiltering;IIS-IPSecurity;IIS-Performance;IIS-HttpCompressionStatic;IIS-WebServerManagementTools;
IIS-ManagementConsole;IIS-ManagementScriptingTools;IIS-ManagementService;WAS-WindowsActivationService;
WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI;NetFx3";
proc = Process.Start(cmd, cmdargument);
proc.WaitForExit();
proc.Close();
当应用程序编译为“AnyCPU”时,一切正常。 但它是用“x86”编译的,PkgMgr窗口显示错误:“试图加载一个格式不正确的程序”。
我还尝试从wow32文件夹运行PkgMgr,但它也没有用。
有什么想法吗?感谢。
答案 0 :(得分:0)
我认为我找到了一个解决方案,它不是最佳的,但它有效。 我正在使用AnyCPU编译包装PkgMgr执行并完成工作。
我仍然希望找到一个更“正确”的解决方案。