Установка IIS из кода C # на 64-битной машине с 32-битным приложением - PullRequest
0 голосов
/ 17 августа 2011

Я пытаюсь установить IIS на 64-битную машину. Установка является 32-битным приложением c #.

Код выглядит следующим образом (взято из здесь ):

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 показывает ошибку: «Была сделана попытка загрузить программу с неверным форматом».

Я также пытался запустить PkgMgr из папки wow32, но он также не работал.

Есть идеи? Спасибо.

1 Ответ

0 голосов
/ 17 августа 2011

Я думаю, что нашел решение, оно не оптимально, но оно работает.Я обертываю выполнение PkgMgr компиляцией AnyCPU и выполняю работу.

Я все еще хотел бы найти более «правильное» решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...