更新时间:2023-11-29 14:59:34
嗨罗伯特,
感谢您的帖子。
如果我理解正确,您希望为32位和64位部署文档级解决方案。如果我有任何误解,请纠正我。
实际上,你不需要做进一步的工作适用于32位和64位的操作,因为应用程序的目标是"任何CPU"。默认情况下。当
应用程序编译为"任何CPU"时,它将检测到自动运行为32位或64位。更多信息:
http://blogs.msdn.com/b/joshwil/archive/2005/04/08/406567.aspx
会发生什么如果你试图一起使用这些exes和dll?我们必须考虑两种可能的情况,在32位机器上运行并在64位
机器上运行......
1.
在32位x86机器上:
anycpu.exe - 作为32位进程运行,可以加载anycpu.dll和x86.dll,如果它试图加载x64.dll将收到BadImageFormatException
x86.exe - 作为32位进程运行,可以加载anycpu.dll和x86.dll,如果它尝试加载x64.dll
x64.exe - 将获得BadImageFormatException当它试图运行时
2。
在64位x64计算机上:
anycpu.exe - 作为64位进程运行,可以加载anycpu.dll和x64.dll,如果它尝试加载x86.dll将会出现BadImageFormatException
x86.exe - 作为32位进程运行,可以加载anycpu.dll和x86.dll,如果它尝试加载x64.dll
$ b将会出现BadImageFormatException $ bx64.exe - 作为64位进程运行,可以加载anycpu.dll和x64.dll,如果它尝试加载x86.dll将会出现BadImageFormatException
我希望这会有所帮助。
跨度>
I have an Excel document-level VSTO 2010 project that I want to deploy locally. Problem is, I need to support x64 and x86 clients.
So, can the pointer to the deployment manifest in an embedded app manifest be set up with a special folder token like %ProgramFiles%? Or, is there another way to allow a single VSTO-enabled workbook to work against installations on 64 bit and 32 bit systems?
Hi Robert,
Thanks for your post.
If I understood you correctly, you want to deploy your document-level solution for both 32-bit and 64-bit. Please correct me if I have any misunderstood.
Actually, you don’t need do some further actions to fit both 32-bit and 64-bit as an application is targeting at “Any CPU” by default. When the application is compiled as “Any CPU”, it will detect to run as 32-bit or 64-bit automatically. For more:
http://blogs.msdn.com/b/joshwil/archive/2005/04/08/406567.aspx
What happens if you try to use these exes and dlls together? We have to consider two possible scenarios, running on a 32-bit machine and running on a 64-bit machine...
1. On a 32-bit x86 machine:
anycpu.exe -- runs as a 32-bit process, can load anycpu.dll and x86.dll, will get BadImageFormatException if it tries to load x64.dll
x86.exe -- runs as a 32-bit process, can load anycpu.dll and x86.dll, will get BadImageFormatException if it tries to load x64.dll
x64.exe -- will get BadImageFormatException when it tries to run
2. On a 64-bit x64 machine:
anycpu.exe -- runs as a 64-bit process, can load anycpu.dll and x64.dll, will get BadImageFormatException if it tries to load x86.dll
x86.exe -- runs as a 32-bit process, can load anycpu.dll and x86.dll, will get BadImageFormatException if it tries to load x64.dll
x64.exe -- runs as a 64-bit process, can load anycpu.dll and x64.dll, will get BadImageFormatException if it tries to load x86.dll
I hope this helps.