Support
Joined: 18 Jul 2005 Posts: 731
|
Posted: Wed Oct 14, 2009 4:08 am Post subject: Deploying to a 64-bit OS. |
|
|
When deploying to a 64-bit OS, remember the following:
1. A 64-bit process can only load 64-bit dlls and a 32-bit process can only load a 32-bit dll.
2. Windows Explorer, Notepad and other applications that come with the 64-bit OS are 64-bit applications.
3. Other applications like Word & Excel are 32-bit applications even when installed on a 64-bit OS.
On a 64-bit OS, registering the dll with RegisterExtensionDotNet20.exe will register it in the 64-bit registry (See Note 1). Therefore a 64-bit application such as Windows Explorer & Notepad will be able to view the namespace extension. However, you will not see the namespace extension in 32-bit applications such as Word & Excel because they use the 32-bit registry (in which no information about your namespace extension is present. To avoid this, you can also register the namespace extension in the 32-bit registry by using RegisterExtensionDotNet20_x86.exe (See Note 2) in addition to RegisterExtensionDotNet20.exe.
Note 1: You can verify this by the message that RegisterExtensionDotNet20 outputs - either "Running as 64-bit" or "Running as 32-bit".
Note 2: RegisterExtensionDotNet20_x86.exe registers the namespace extension in the 32-bit registry. To use this utility, the namespace extension dll needs to be compiled to 'Any CPU' or 'x86'.
Note 3: RegisterExtensionDotNet20_x64.exe registers the namespace extension in the 64-bit registry. To use this utility, the namespace extension dll needs to be compiled to 'Any CPU' or 'x64'.
Note 3: RegisterExtensionDotNet20.exe registers the namespace extension in the 64-bit registry on 64-bit OS and in the 32-bit registry on 32-bit OS. To use this utility, the namespace extension dll needs to be compiled to 'Any CPU'. On a 64-bit OS, it can also be compiled to x64 and on a 32-bit OS, it can also be compiled to 'x86'. |
|