Add in Express - Deployment

Add-in Express™ Support Service
That's what is more important than anything else

Add in Express - Deployment
Deployment for all users within own MSI 
Pablo Medina Martín




Posts: 10
Joined: 2010-12-14
Hello!

I have created a set of add ins for the office suite. All of them, except the Access add in, are VSTO based add ins.
Likewise, the installation is done via MSI (I created it with WIX), but i cant get installed the Access Add in for all users.

Could I get extended info of the steps I need to do in order to integrate this Access Express Add in within my MSI?

Thanks in advance,
Pablo.
Posted 28 Feb, 2011 03:27:45 Top
Eugene Astafiev


Add-in Express team


Posts: 8540
Joined: 2007-07-25
Hi Pablo,

Welcome to the Add-in Express community!

Please have a look at the Creating setup projects manually section in the online documentation. It describes the required steps to get the job done.
.NET, Extended MAPI, Windows Phone & RT
Posted 28 Feb, 2011 07:13:22 Top
Pablo Medina Martín




Posts: 10
Joined: 2010-12-14
Hi Eugene!

Thanks for your prompt reply!

I created the setup manually following your guide, and had no problems.

When i Integrate it to my MSI, It does not work :( For the admin I got a Runtime Error while loading the addin :(

All the dependencies and assemblies are deployed to the app folder. I register the main DLL like this within my MSI:


 <!-- REGISTERS THE ADD IN -->
                        <Component Id="AccessAddinDLL">
                            <File Id="AccessAddinFile" Name="QuicktipsAccess2010_net4_adx.dll" Source=". .QuicktipsAccess2010_net4_adxinReleaseQuicktipsAccess2010_net4_adx.dll" KeyPath="yes">
 X Class Id="C47B269B-9A39-481A-B055-A57509F11F04" Context="InprocServer32" Description="Addin" ThreadingModel="apartment">
 X ProgId Id="QuicktipsAccess2010_net4.AddinModule" Description="Connect Class" />
 X Class>
 X File>
                        </Component>



I am guessing your adxregistrator and your adxpatch are doing something behind the scenes that i am missing...

Any help would be appreciated!

Greetings,
Pablo.
Posted 28 Feb, 2011 07:28:01 Top
Eugene Astafiev


Add-in Express team


Posts: 8540
Joined: 2007-07-25
Hi Pablo,

Do you use the adxregistrator.exe utility in the MSI installer for registering the add-in?
.NET, Extended MAPI, Windows Phone & RT
Posted 28 Feb, 2011 07:34:02 Top
Pablo Medina Martín




Posts: 10
Joined: 2010-12-14
Hi Eugene!

Yeah I am calling the registrator with a custom action.

In my MSI, this is the component that deploys add in + references:


 <!-- ADD IN FILES-->
                        <Component Id="AccessAddinFiles" Guid="c386dec7-9453-4b8c-974e-59f1eb976f81">
                            <File Id="AccessAddinFile" Name="QuicktipsAccess2010_net4_adx.dll" Source=". .QuicktipsAccess2010_net4_adxinReleaseQuicktipsAccess2010_net4_adx.dll">
 X File>
                            <File Id="addinManifest" Name="adxloader.dll.manifest" DiskId="1" Source=". .QuicktipsAccess2010_net4_adxinReleasedxloader.dll.manifest">
 X File>
                            <File Id="adxLoader" Name="adxloader.dll" Source=". .QuicktipsAccess2010_net4_adxinReleasedxloader.dll">
 X File>
                            <File Id="AccesscommonAssembly" Name="Common.dll" DiskId="1" Source=". .CommoninReleaseCommon.dll">
 X File>
                            <File Id="ExtensibilityDLL" Name="Extensibility.dll" DiskId="1" Source=". .QuicktipsAccess2010_net4_adxinReleaseExtensibility.dll">
 X File>
                            <File Id="AdxControls" Name="AddinExpress.MSO.2005.dll" Source=". .QuicktipsAccess2010_net4_adxinReleaseAddinExpress.MSO.2005.dll">
 X File>
                            <File Id="adxregistrator" Name="adxregistrator.exe" Source=". .QuicktipsAccess2010_net4_adxinReleasedxregistrator.exe">
 X File>
                            <!-- Registry Entries for Access AddIn  -->
                            <RegistryKey Root="HKLM" Key="SoftwareMicrosoftOfficeAccessAddinsQuicktips" Action="createAndRemoveOnUninstall">
 X RegistryValue Type="integer" Name="LoadBehavior" Value="3">
 X RegistryValue>
 X RegistryValue Type="string" Name="Manifest" Value="[#addinManifest]">
 X RegistryValue>
 X RegistryValue Type="string" Name="AssetsPath" Value="[quicktipsAccessDir]">
 X RegistryValue>
 X RegistryValue Type="string" Name="ContentsURL" Value="[LOCATIONURL]">
 X RegistryValue>
 X RegistryValue Type="string" Name="FriendlyName" Value="Quicktips Access 2010">
 X RegistryValue>
 X RegistryValue Type="string" Name="Description" Value="Quicktips Access 2010">
 X RegistryValue>
 X RegistryKey>
                        </Component>
...



And this is the custom action to register the add in:


<InstallExecuteSequence>
            <Custom Action="RegisterAccessAddin" After="InstallFinalize" />
        </InstallExecuteSequence>
        <CustomAction Id="RegisterAccessAddin" Directory="[quicktipsAccessDir]" ExeCommand="&quot;[quicktipsAccessDir]dxregistrator.exe&quot; /install=&quot;QuicktipsAccess2010_net4_adx.dll&quot; /privileges=admin" Return="check">
        </CustomAction>



I am lost :(
Posted 28 Feb, 2011 08:09:08 Top
Eugene Astafiev


Add-in Express team


Posts: 8540
Joined: 2007-07-25
Hi Pablo,

Please note that you need to use the adxregistrator.exe utility at the custom actions stage of the MSI installer. Please read more about this in the Add custom actions section of the online documentation. May I see a screenshot of the custom actions editor of your MSI installer?
.NET, Extended MAPI, Windows Phone & RT
Posted 28 Feb, 2011 08:17:28 Top
Pablo Medina Martín




Posts: 10
Joined: 2010-12-14
Hi Eugene!

Yeah, im using your registrator, and from the msi log, seems to be executed. Please note that i am only registering on install (I will add later the rollback and uninstall actions).

I use mostly my text editor to create the MSI (with WiX), but i can give you a screenshot of the Designer and another from the MSI installation log. How do I send you the snapshots?

Thanks!
Posted 28 Feb, 2011 08:27:03 Top
Eugene Astafiev


Add-in Express team


Posts: 8540
Joined: 2007-07-25
Hi Pablo,

May I see the adxregistrator.log file instead (it is created when the adxregistartor.exe does the duties)? Typically you can find it in the <My Documents>\Add-in Express folder.
.NET, Extended MAPI, Windows Phone & RT
Posted 28 Feb, 2011 10:04:59 Top
Pablo Medina Martín




Posts: 10
Joined: 2010-12-14
Eugene,

Here is the log. I just launched my msi, everything seems all right, however my add in wont load now anylonger (Run time error).
The MSI is executed with a administrator user, but when i check my registry, i dont see the keys created like when i install the add in via Visual Studio Installer :?


Add-in Express Registrator Log File: 02/28/2011 17:41:07

Installation directory: C:\Program Files\Bitmedia\Quicktips Access 2010\
Registrator version: 6.3.3052.0
Operating System: Microsoft Windows 7 Ultimate Edition (build 7600), 32-bit
Process Owner: Administrator
Command Line: "C:\Program Files\Bitmedia\Quicktips Access 2010\\adxregistrator.exe" /install="QuicktipsAccess2010_net4.dll" /privileges=admin
Run 'As Administrator': No
Process Elevated: No
Integrity Level: Medium
UAC (User Account Control): On
--------------------------------------------------------------
17:41:07 Starting the add-in registration process.
17:41:07 Loading mscoree.dll
17:41:07 Success.
17:41:07 .NET Framework installation directory:
17:41:07 The latest version of .NET Framework: 'v4.0.30319'
17:41:07 Loading CLR: v4.0.30319.
17:41:07 Calling CLRCreateInstance method.
17:41:07 Success.
17:41:07 Calling GetRuntime method.
17:41:07 Success.
17:41:07 Calling GetInterface method.
17:41:07 Calling GetInterface method for the CorRuntimeHost interface.
17:41:07 Success.
17:41:07 Starting CLR...
17:41:08 Success.
17:41:08 The CLR v4.0.30319 has been initialized successfully.
17:41:08 Creating a new domain setup.
17:41:08 Success.
17:41:08 Getting the add-in directory.
17:41:08 Success. The directory is 'C:\Program Files\Bitmedia\Quicktips Access 2010\'
17:41:08 The 'shadow copy' is disabled.
17:41:08 Creating a new application domain.
17:41:09 Success.
17:41:09 Getting the base directory for the domain.
17:41:09 Success. The directory is 'C:\Program Files\Bitmedia\Quicktips Access 2010\'.
17:41:09 Searching for the Add-in Express core library.
17:41:09 Success. The 'AddinExpress.MSO.2005.dll' file is found.
17:41:09 Creating an instance of the 'AddinExpress.Deployment.ADXRegistrator' class.
17:41:09 Assembly identity is 'AddinExpress.MSO.2005'.
17:41:10 Success.
17:41:10 Unwrapping the instance of the 'AddinExpress.Deployment.ADXRegistrator' class.
17:41:10 Success.
17:41:10 Calling the managed registration procedure.
17:41:11 540 Connecting to the application domain of the Add-in Express loader.
17:41:11 540 Success.
17:41:11 540 Loading the 'quicktipsaccess2010_net4.dll' assembly.
17:41:11 540 Success.
17:41:11 540 Registering the 'quicktipsaccess2010_net4.dll' assembly (administrator).
17:41:39 540 The ' quicktipsaccess2010_net4.dll' assembly has been registered successfully.
17:41:39 Success.
17:41:39 The add-in registration process is completed with HRESULT = 0.
Posted 28 Feb, 2011 11:02:07 Top
Eugene Astafiev


Add-in Express team


Posts: 8540
Joined: 2007-07-25
Hi Pablo,

Please run the setup.exe instead. You can read more about this in the Deploying Office extensions section of the online documentation. Does it help?
.NET, Extended MAPI, Windows Phone & RT
Posted 28 Feb, 2011 11:18:31 Top