我打算发布这个,但设法得到答案,所以这是以防万一其他人正在寻找......
我的应用程序通过以下方式安装Windows服务:
string[] installargs = new string[] { binaryname };
ManagedInstallerClass.InstallHelper(installargs);
但是在64位平台上,我想强制安装使用64位安装程序(相当于Framework64 / InstallUtil)
如何让ManagedInstallerClass.InstallHelper运行64位版本?
答案 0 :(得分:0)
答案:框架使用您要定位的构建的特定安装程序。即。如果您构建了一个x64框架并在64位操作系统上运行,它将使用Framework64 / InstallUtil。如果您已针对32位或任何CPU构建并在32位或64位操作系统上运行,则它将使用Framework / InstallUtil。
注意:在64位操作系统上安装的32位版本仍将使用Framework / InstallUtil。没有解决方法 - 您无法使用32位安装程序安装64位服务。如果需要安装64位服务,则必须构建单独的x64安装程序。
来源 - 微软论坛。