Installation woes

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

Installation woes
 
Philip Street




Posts: 53
Joined: 2005-01-25
I have an add-in setup which I am trying to install on some test machines but am experiencing a load of diffirent issues.

Firstly, some background. The target machines run Windows XP (with SP2), Office 2003 (with SP1) + PIAs & .NET Framework 1.1 (with SP1 + hotfixes).

Being corporate workstations, they have restrictions applied to them via Group Policy to prevent the basic user from doing certain things, writing to parts of the hard disk (e.g. root of C drive) or the Registry.

Therefore, we use a utility called "xa.exe" which allows us to run commands in the security context of the local machine's Administrator account. This is used to run the "msiexec.exe -i ..." command to install our add-in msi.


The main issue I have is if I exclude the PIAs from the setup, I get the following error;

"Unable to get installer types in the <setuplocation>\addinexpress.mso.dll assembly. --> One or more of the types in the assembly unable to load."

I am also having an issue whereby the setup thinks the installation folder is the root of the C drive!

Posted 20 Aug, 2005 04:55:06 Top
Sergey Grischenko


Add-in Express team


Posts: 7228
Joined: 2004-07-05
Hi Philip.

The main issue I have is if I exclude the PIAs from the setup, I get the following error;
"Unable to get installer types in the <setuplocation>\addinexpress.mso.dll assembly. --> One or more of the types in the assembly unable to load."

Do you have PIAs installed on the target PC?

I am also having an issue whereby the setup thinks the installation folder is the root of the C drive!

Check the DefaultLocation property of the "Application Folder" folder in the setup project of your add-in. It should be set to "[ProgramFilesFolder][Manufacturer]\[ProductName]" by default.
Posted 22 Aug, 2005 08:42:29 Top
Philip Street




Posts: 53
Joined: 2005-01-25
Do you have PIAs installed on the target PC?


Yes, they do.

Check the DefaultLocation property of the "Application Folder" folder in the setup project of your add-in. It should be set to "[ProgramFilesFolder][Manufacturer]\[ProductName]" by default.


Is it possible to change this path? I have and I suspect this is probably causing the problem.

I must admit that trying to create the MSI with the VS.NET Setup project is a real pain because we package everything in Wise Package Studio, and Wise is much more feature rich than VS.NET.

Do you have any guidance, or examples, on how I might create the setup in Wise? Has anyone else done this?

I have tried opening the VS.NET MSI with Wise but am confused by the amount of stuff it's trying to create in the Registry - AFAIC you only need to copy the assemblies into the target folder and register a couple of files.

Is it possible to register my add-in without using the AddinExpress.MSO.dll?

I have been able to do the following;

1) Run "regasm.exe officeaddin.dll" in Command Prompt window.

2) Run "regsvr32.exe officeaddinshim.dll" in Command Prompt window.

The add-in then appears in Word, Excel & PowerPoint but not Outlook, which I knew would happen anyway.

Cheers,

Phil
Posted 22 Aug, 2005 10:16:37 Top
Guest


Guest


Hi Phil,

the lot of registry entries are the one regasm.exe/regscr32.exe would create because this is the way the dll's are registered.

So the MSI Installer don't need to run this tools. He is doing all the work be himself.
Posted 23 Aug, 2005 05:21:15 Top
Sven Heitmann




Posts: 193
Joined: 2004-08-23
Hi Phil,

the lot of registry entries are the one regasm.exe/regscr32.exe would create because this is the way the dll's are registered.

So the MSI Installer don't need to run this tools. He is doing all the work by himself.

I wasn't loged in, sorry.
Best regards,

Sven Heitmann
Posted 23 Aug, 2005 05:23:19 Top
Philip Street




Posts: 53
Joined: 2005-01-25
Sven,

Thanks for the reply.

I suppose ultimately what I am asking is whether there is a way I can install my add-in WITHOUT using the the VS.NET setup project?

In my earlier post I said that I can register the add-in such that it appears in Word, Excel & PowerPoint. All I need to do now is determine how to get the add-in registered in Outlook. Can anyone give me an indication of what I need to do in addition to the regasm.exe & regsvr32.exe stuff?

Thanks,

Phil
Posted 23 Aug, 2005 07:17:13 Top
Sven Heitmann




Posts: 193
Joined: 2004-08-23
Phil,

Yes it should be possible.
I have successfully created an Installer with NSIS.
It is really simple because the ADX Assembly contains a Installer Class wich performs all the needed action to register the Addin both as Addin for your Office Product and as Type.

What you have to do is using a Tool named "installutil.exe" wich is part of the .Net Framework.
As for .Net 1.1 it is located at

%WINDIR%\Microsoft.NET\Framework\v1.1.4322\installutil.exe


You have to call it this way for Install

installutil.exe /LogToConsole=false /LogFile="" /Addin="ADDIN_ASSEMBLY" "ADX_ASSEMBLY"


and this way for Uninstall

installutil.exe /u /LogToConsole=false /LogFile="" /Addin="ADDIN_ASSEMBLY" /ProgId=PROG_ID "ADX_ASSEMBLY"


Take a look into the Documentation for installutil.exe and his parameters.
The above Syntax is the one I used.

If you compare the parameters with the parameters of the custom actions from the setup project, you will notice that they are the same.
The MSI Installer is doing the same action you perform with the installutil.exe.

Make sure that you place your Assemblies in the GAC if required.

Perhaps WISE Installer has Support for Custom Actions, do some research. Install Shield has it AFAIK.

I hope it helps.
Best regards,

Sven Heitmann
Posted 23 Aug, 2005 09:30:03 Top
Philip Street




Posts: 53
Joined: 2005-01-25
Sven,

That looks like exactly the stuff I need!

I will try it out and let you know how I get on.

Many thanks for your help,

Phil :-)
Posted 23 Aug, 2005 10:02:03 Top
Sergey Grischenko


Add-in Express team


Posts: 7228
Joined: 2004-07-05
Hi Philip.

Do you have any guidance, or examples, on how I might create the setup in Wise?

No, I haven't. We don't use Wise.

Is it possible to register my add-in without using the AddinExpress.MSO.dll?

No, it is not possible because the AddinExpress.MSO.dll is a part of your add-in.

I am going to describe all steps to install ADX based add-ins without using MSI. I will answer you tommorow.
Posted 23 Aug, 2005 19:40:35 Top
Sergey Grischenko


Add-in Express team


Posts: 7228
Joined: 2004-07-05
Hi Philip.

You can follow the steps below to install your add-ins without using the standard setup project of Visual Studio.

Requirements:
Extensibility.dll
Office.dll
stdole.dll
AddinExpress.MSO.dll

Installation of ADX based add-ins:
1. Copy the following assemblies to the add-in installation folder:
Extensibility.dll, Office.dll, stdole.dll, AddinExpress.MSO.dll.
2. Register the following assemblies in the GAC using the gacutils.dll or
another tool: Extensibility.dll, Office.dll, stdole.dll.
3. Run the "Install" custom action using the AddinExpress.MSO.dll
assembly with the following parameters:
/Addin="[TARGETDIR]\<the name of your add-in assembly>.dll"

Unistallation of ADX based add-ins:
1. Run the "Uninstall" custom action using the AddinExpress.MSO.dll
assembly with the following parameters:
/Addin="[TARGETDIR]\<the name of your add-in assembly>.dll"
2. Remove the following assemblies from the GAC (if it is necessary)
using the gacutils.dll or another tool:
Extensibility.dll, Office.dll, stdole.dll.
3. Delete the following assemblies from the add-in installation folder:
Extensibility.dll, Office.dll, stdole.dll, AddinExpress.MSO.dll.


Posted 24 Aug, 2005 14:46:01 Top