在64位机器上强制的.Net Windows服务作为运行32位(Forcing a .Net Win

2019-06-24 21:28发布

我一直在考虑一个窗口服务,它引用了仅在32位运行的COM组件。 我的机器是64位,因此该服务将尝试启动,无法创建COM组件,并且死。

我没有来源,只是.exe文件。 有没有什么办法来强制服务在32位模式下启动Win64的机器上?

Answer 1:

也许.NET工具corflags会有所帮助:

corflags /32bit+ myservice.exe



Answer 2:

corflags.exe Windows自带的SDK,而不是.NET。

corflags.exe仅需要针对目标服务的exe运行一次。 然后该服务将在32位模式下运行之后。

注意所需要的参数是/ 32bitreq +或/ 32bitpref +。

corflags.exe / 32bitreq + myservice.exe



文章来源: Forcing a .Net Windows service to run as 32-bit on a 64-bit machine