Deployment problem in Win7-64 bit with Office 2010-64bit when using x86 MSI installer
-
Thursday, April 28, 2011 7:57 PM
Hi,
I ran into a strange behavior where the registry entry gets written to the "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\" hive instead of
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft" when using a x86 MSI installer with per-machine installation in the following environment:
Outlook 2010 64-bit
Windows 7 Ultimate 64-bit
According to http://blogs.msdn.com/b/vsto/archive/2010/03/08/deploying-your-vsto-add-ins-to-all-users-saurabh-bhatia.aspx, the registry entries should be written under the ""HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft" hive for 64-bit office and 64-bit windows 7:
_________________________________________________________________________________________A 64-bit version of Office 2010 on 64-bit OS will always load the add-ins under this key:
e.g. HKEY_LOCAL_MACHINE\Software\Microsoft\Office\application name\Addins\add-in ID
_________________________________________________________________________________________
Additionally, the add-in is not loaded and it is also not listed under the "Add-ins" list (File-->Options-->Add-ins).However, when i tested with x64 MSI installer, the addin installs correctly under the "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft" hive and gets loaded.
How can i make it work? I am developing using VS2008, VSTO 3.0 targeted to Office 2007.
Your help will be appreciated!
Thank you,
Rajat
All Replies
-
Friday, April 29, 2011 6:10 PMEasiest would be to have 2 different MSI's - one for x86 and one for x64, possibly you could a bootstrapper that executes the correct msi by analyzing what type of Office version installed.
Andreas M. -
Monday, May 02, 2011 3:56 AMModerator
Hi rbshrestha,
Thanks for posting in the MSDN Forum.
Did you update the fix http://support.microsoft.com/kb/976811 and http://support.microsoft.com/kb/976477/ ?
Please try it, and let’s know whether they work.
I hope it can help you.
Have a good day,
Tom
Tom Xu [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.

-
Monday, May 02, 2011 6:42 AMTom, do u mean that u can install an x86-compiled addin in an Win x64 + Office x64 environment by installing those 2 fixes?
Andreas M. -
Monday, May 02, 2011 7:32 AMModerator
Hi Andreas,
No, you have misunderstood what I said. I want to know whether OP updated the hotfix. As far as I know, x86-complied add-in can only work on Office 32-bit.
If I have misunderstood anything, please feel free to let me know.
Have a good day,
Tom
Tom Xu [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.

-
Monday, May 02, 2011 2:13 PM
Hi Tom,
Thanks for your reply. The problem I'm having is specific to Office 2010 and the hotfix is for Office 2007.
As far as I understand the hotfix will allow install in HKLM hive for Office 2007 for Add-ins developed using VSTO 3.0. I have a different workaround to that problem which seems to work. I only need to fix this for Office 2010.
To be more specific, I'm trying not to have two different installers x86 and x64. Instead simply have a single installer.
Your help would be appreciated.
Rajat
-
Monday, May 02, 2011 2:16 PM
Andreas,
Thanks for your reply. I'm trying to avoid having two different MSIs that targets x86 and x64.
Rajat
-
Monday, May 02, 2011 2:20 PM
Andreas,
The x86 installer that I have right now can install in Win x64 & Office x64 for per-user installation. But when you are using the per-machine installation, the installer in Office 2010 does not register the Addin in correct registry hive. Please have a look at http://blogs.msdn.com/b/vsto/archive/2010/03/08/deploying-your-vsto-add-ins-to-all-users-saurabh-bhatia.aspx which explains this in detail.
Rajat
-
Tuesday, May 03, 2011 2:29 PM
Tom,
Any new developments on this issue?
Thank you,
Rajat
-
Wednesday, May 04, 2011 10:21 AMModerator
Hi Rajat,
I try to developed a Outlook add-in for 64-bit Outlook and create window installer on my 32-bit machine. Then I installed it on the 64-bit machine which have 64-bit Outlook. It works fine.
So, I think there must have some mistake in your process to create window installer. Would you describe your action step by step?
And I provide my Solution on skydrive please download and check the different between us.
Have a good day,
Tom
http://cid-bfdf05e934413519.office.live.com/self.aspx/Sample%20Code%20for%20MSDN%20Forum/OutlookAddIn%5E564-bit%5E6.zip (Developed via Visual Studio 2010(32-bit), Win7 (32-bit), Installed to Win7(64-bit), Outlook 2010(64-bit))
Tom Xu [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.

- Proposed As Answer by Tom_Xu_WXModerator Monday, May 09, 2011 10:12 AM
- Marked As Answer by Tom_Xu_WXModerator Tuesday, May 10, 2011 1:54 AM
-
Thursday, May 05, 2011 4:29 PM
Hi Tom,
Thanks for your reply. I will test the installer that you uploaded tomorrow and will let you know how it goes.
Here is my development environment:
Win7 64-bit, Visual Studio 2008(32-bit) VSTO 3.0
Test environment:
Win7 64-bit, Outlook 2010 64bit
The problem arises with the MSI that is built using the "TargetPlatform" set to "x86". When I use this MSI and try to deploy for "ALL users" by selecting "Everyone" option, it writes the registry under the "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\" hive instead of "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft" which causes the add-in not to load or even appear in the add-ins list.
Also, note that this is not a problem if i install it for single user.
Rajat
-
Friday, May 06, 2011 5:54 AMModerator
Hi Rajat,
I think some of the options you need to pay attention to:
1. In order to run your add-in on 64-bit environment, please set your 64-bit add-in’s Platform target as X64.
2. In you install project, you need set TargetPlatform as X64. Otherwise, the project will not build.
3. In registry hive you need write “HKEY_LOCAL_MACHIN\SOFTWARE\Microsoft\Office\Outlook\AddIns\[your add-in alias]” for all user.
4. X86 add-in only work with 32-bit Office System.
Have a good day,
Tom
Tom Xu [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.

- Proposed As Answer by Tom_Xu_WXModerator Monday, May 09, 2011 10:11 AM
- Marked As Answer by Tom_Xu_WXModerator Tuesday, May 10, 2011 1:54 AM

