我得到了一个Windows服务,它引用了一个只能在32位上运行的COM组件。我的机器是x64,因此服务尝试启动,无法创建COM组件,并且死机。
我没有源,只有.exe文件。有没有办法强制服务在win64机器上以32位模式启动?
也许.NET工具corflags会有所帮助:
corflags /32bit+ myservice.exe
corflags.exe附带Windows SDK,而不是.NET。
corflags.exe只需针对目标服务exe运行一次。然后,服务将以32位模式运行。
注意所需的参数是/ 32bitreq +或/ 32bitpref +。
corflags.exe / 32bitreq + myservice.exe