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


Guest


Hi Pablo,

Welcome to the Add-in Express community!

Please have a look at the http://www.add-in-express.com/docs/net-loaders.php section in the online documentation. It describes the required steps to get the job done.
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


Guest


Hi Pablo,

Do you use the adxregistrator.exe utility in the MSI installer for registering the add-in?
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


Guest


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 http://www.add-in-express.com/docs/net-loaders.php section of the online documentation. May I see a screenshot of the custom actions editor of your MSI installer?
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


Guest


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


Guest


Hi Pablo,

Please run the setup.exe instead. You can read more about this in the http://www.add-in-express.com/docs/net-deploying-debugging-tips.php#office-extensions section of the online documentation. Does it help?
Posted 28 Feb, 2011 11:18:31 Top