0
我試圖在64位計算機上安裝IIS。 安裝是一個32位c#應用程序。從帶有32位應用程序的64位計算機上的c#代碼安裝IIS
的代碼如下(從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,但它沒有工作。
有什麼想法?謝謝。
很難想出一個不使用AnyCPU的理由。 –
安裝程序應用程序正在運行一些必須使用x86編譯的代碼。否則,這將是最好的解決方案。 –