none
Deployment problem in Win7-64 bit with Office 2010-64bit when using x86 MSI installer

    Question

  • 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

    Thursday, April 28, 2011 7:57 PM

Answers

  • 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.

    Wednesday, May 04, 2011 10:21 AM
    Moderator
  • 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.

    Friday, May 06, 2011 5:54 AM
    Moderator

All replies

  • Easiest 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.
    Friday, April 29, 2011 6:10 PM
  • 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 3:56 AM
    Moderator
  • Tom, 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 6:42 AM
  •  

    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 7:32 AM
    Moderator
  • 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:13 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:16 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

    Monday, May 02, 2011 2:20 PM
  • Tom,

    Any new developments on this issue?

    Thank you,

    Rajat

     

    Tuesday, May 03, 2011 2:29 PM
  • 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.

    Wednesday, May 04, 2011 10:21 AM
    Moderator
  • 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

     

     

     

     


    Thursday, May 05, 2011 4:29 PM
  • 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.

    Friday, May 06, 2011 5:54 AM
    Moderator