Установка службы Windows через ManagedInstaller — как установить 64-битную службу?

Я собирался опубликовать это, но мне удалось найти ответ, так что вот он на случай, если кто-то еще ищет...

Мое приложение устанавливает службу Windows через:

string[] installargs = new string[] { binaryname };
ManagedInstallerClass.InstallHelper(installargs);

Однако на 64-битной платформе я хочу заставить установку использовать 64-битный установщик (эквивалент Framework64/InstallUtil)

Как заставить ManagedInstallerClass.InstallHelper запускать 64-разрядную версию?


person steve cook    schedule 20.05.2013    source источник


Ответы (1)


Ответ. Фреймворк использует специальный установщик для сборки, на которую вы ориентируетесь. т.е. если вы создали платформу x64 и работаете в 64-разрядной ОС, она будет использовать Framework64/InstallUtil. Если вы нацелились на 32-разрядную сборку или сборку с любым ЦП и работаете в 32-разрядной или 64-разрядной ОС, она будет использовать Framework/InstallUtil.

Примечание: 32-разрядная сборка, установленная в 64-разрядной ОС, по-прежнему будет использовать Framework/InstallUtil. обходного пути нет — 32-битный установщик не может установить 64-битную службу. Вам нужно создать отдельный установщик x64, если вам нужно установить 64-битную службу.

Источник - форумы Microsoft.

person steve cook    schedule 20.05.2013