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

Answered 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 PM
     
     
    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.
  • Monday, May 02, 2011 3:56 AM
    Moderator
     
     

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

    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 AM
    Moderator
     
     Answered

    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.

  • 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 AM
    Moderator
     
     Answered

    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.