强制Windows服务以32位运行
最近遇到一个问题,在Windows服务中调用一个第三方的API,这个API是编译为x86的,所以必须通过x86的程序去调。测试程序可以正常调用,但是部署为Windows服务去调的时候就出问题了。原因是在64位机器上Windows服务默认是以64位启动的。
各种折腾以后找到了解决办法:使用CorFlags工具改变可执行文件的头信息,使其以32位启动。
corflags.exe /32bit+ myservice.exe
(只需执行一次,以后都会以32位运行)
CorFlags会随Visual Studio自动安装,位于 C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\CorFlags.exe(根据VS版本会有不同)
Categories
Tags
Jekyll(3)
Windows(1)
GitHub(4)
vs(4)
Portable(1)
hompage(1)
sitemap(1)
ruby(1)
gem(1)
qrcode(1)
jquery(1)
responsive(1)
Linux(6)
crontab(1)
sqlserver(4)
split(1)
backup(1)
js(1)
version(1)
csharp(2)
office(1)
com(1)
iis(1)
win8(1)
drag(1)
remote desktop(1)
Git GUI(1)
mail(1)
HTML(1)
table(1)
service(1)
32bit(1)
python(5)
pylesson(4)
volatile(1)
multithreading(1)
singleton(1)
webapi(2)
actionfilter(3)
filterprovider(1)