What is the simplest way to distribute a .NET COM server to any platform?
2008-11-01 22:31
525 查看
So I have a .NET COM .dll server and I would like to distribute it to any platform (64-bit or 32-bit) to be used by any client (32-bit or 64-bit, particularly). I probably am going to package the .dll in an installer project since that seems to be the easiest way to register the component. I don't want to have to distribute different installers. How do I do this? The assembly is in IL so it can be compiled on the target machine, right?
This is what I've tried:
1) In project properties (C# .dll) I set COM interop to true and I set platform to "Any CPU"
2) Compile and register dll on my 32 bit machine.
3) Create an installer project.
4) Set installer project property TargetPlatform to x86 or x64 (I've tried both)
5) Build installer.
Now this will work for the 32-bit client, but the 64-client throws an error saying that the "class is not registered" even though the class appears in OLEview. Now, I assume that OLEView is just showing me the registered 32-bit components and the 64-bit ones are separate.
So maybe the installer should have some logic knowing to register it for 64-bit? I don't know.
Oh, and I would also appreciate any references to books you think I would need or articles if from my post it seems I'm missing a particular body of knowledge.
Greatly appreciate you taking the time to read,
-BonesG
from:http://social.msdn.microsoft.com/Forums/en-us/netfx64bit/thread/f0f0bc5f-8706-4c77-9684-3cbf3c9eab71
This is what I've tried:
1) In project properties (C# .dll) I set COM interop to true and I set platform to "Any CPU"
2) Compile and register dll on my 32 bit machine.
3) Create an installer project.
4) Set installer project property TargetPlatform to x86 or x64 (I've tried both)
5) Build installer.
Now this will work for the 32-bit client, but the 64-client throws an error saying that the "class is not registered" even though the class appears in OLEview. Now, I assume that OLEView is just showing me the registered 32-bit components and the 64-bit ones are separate.
So maybe the installer should have some logic knowing to register it for 64-bit? I don't know.
Oh, and I would also appreciate any references to books you think I would need or articles if from my post it seems I'm missing a particular body of knowledge.
Greatly appreciate you taking the time to read,
-BonesG
from:http://social.msdn.microsoft.com/Forums/en-us/netfx64bit/thread/f0f0bc5f-8706-4c77-9684-3cbf3c9eab71
相关文章推荐
- What is the best way to paginate results in SQL Server
- Q:Is there any way to define what the "Open Resource" dialog in Eclipse should show?
- [导入]What is the equivalent to regsvr32 in .NET?
- Simplest way to serve static data from outside the application server in a Java web application
- Is there any way to get detailed error information for Win32 errors when using Platform Invoke?
- What is the fastest, case insensitive, way to see if a string contains another string in C#?
- An introduction to the Java 2 Platform, Enterprise Edition specification by way of BEA's WebLogic Server
- NoHttpResponseException: The server corporbank.dccnet.com failed to respond
- what is the best way to reduce stress?
- What is the best way to handle Invalid CSRF token found in the request when session times out in Spring security
- Unable to use SQL Server because ASP.NET version 2.0 Session State is not installed on the SQL serve
- What is the correct way to completely remove an application?
- Is there any best way to reduce the size of ibdata in mysql.?
- What is the best way to calculate a checksum for a file that is on my machine?
- What is the easiest way of getting OpenLayers to configure itself for printing?
- What is the correct way to stop QThread?
- ASP.Net DebugError解决方案[转]:Unable to start debugging on the web server.Debugging failes because integrated Windows authentication is not enabled.
- The server at www.abstractspoon.com is taking too long to respond.
- What is the best way to implement a heartbeat in C++ to check for socket connectivity?
- The best way to be "right once" is to have the ability to envision what things are going to look like three weeks, three months