Installing VSTO Outlook Add-in with a fixed GUID using VSTOInstaller - vsto

I have an Outlook Add-in that we are trying to distribute via SCCM.
The problem is that we are not getting a consistant GUID for each install.
If we use the setup.exe then it always generates the same GUID, but SCCM won't uninstall using the setup.exe.
Hence we have to use
VSTOInstaller.exe /i
VSTOInstaller.exe /u
However VSTOInstaller always gives a different GUID which confuses SCCM.
Does anyone know if there is a way to force the GUID?
Maybe through some xml in the .VSTO file?

You need to create an MSI installer for your Office add-in. See Deploy an Office solution by using Windows Installer for more information.

Related

Advanced Installer VSTO Add-in Deployment to Entire Machine not working

I'm using Advanced Installer to try to create an installation package (single EXE setup file) for an MS Project VSTO add-in. I need the installation Type to be Per Machine but when I chose this option and run the setup.exe file, the Add-in will not load for any of the user's on the target machine. The only way I can get it to load is if I change the installation type to Per User, which I don't want.
I'm fairly certain the problem is related to the registry, because the setup.exe is not adding the proper registry keys under HKEY_LOCAL_MACHINE to load the add-in, even though I have it set up to do so:
What am I doing wrong?
There are other things that needs to be done except windows registry keys. For example, you need to specify whether you want to support per-user or per-computer installations.
The Deploy an Office solution by using Windows Installer article describes all the necessary steps for creating per-use and per-machine Office add-in installers. Make sure that you did everything in your installation package.

What needs to be done in Install shield Project to make it capable to uninstall Word Add-In if it is already installed

I have two projects as mentioned below.
VSTO Project(Word Add-In)
Installer (.ism) project to create installer for above word add-in
Recently, I have made some changes in above both the projects to replace old brand name with new brand name.
After these changes, installer does not uninstall already installed add-in and instead it installs second instance of add-in(having different product name). Earlier, it was able to uninstall existing word add-in.
Please note that I have not changed Product Code and Upgrade Code in ism file.
Now, I want to make installer (created using Install Shield project) capable enough to uninstall existing word add-in (having old product name) if it exists.
The word Add-In is being used by our many clients and after re-branding we want them to re install Add-in. We don't want them to manually uninstall existing word add-in. So, we want to make changes in installer so that it auto detects existing add-in and uninstall it and then install new one.
I am new to the install shield and don't know what is the best and simple way to achieve this.
I am not familiar with the latest iterations of InstallShield, but at a minimum you can call vstoinstaller.exe to remove it at the start. It's usually in C:\Program Files (x86)\Common Files\microsoft shared\VSTO\10.0.

How to allow Outlook Add-In read the config file

We are developing an Outlook Add-In VSTO using C#, it reads a configuration by using ConfigurationManager.AppSettings["key"].
We made a .msi installer by WIX and installed to Outlook, then the Add-In can't read the config value.
But when trying with Advanced Installer, the add-in works perfectly.
I'm not sure what the Advanced Installer does with my msi file (or registry), can you please help me to solve the problem with WIX because we want a free installer creator tool (Advanced Installer costs me 1500$).
Thanks a lot
Does the add-in assembly name correspond to the config file name? Are they located in the same folder? Is the config file deployed?
The Deploying an Office Solution by Using Windows Installer article provides all the required steps for creating Windows installer setup programs.

Installing VSTO Outlook addin for All Users to drive other than C: results in Microsoft Office Customization Installer dialog

First let me get this stuff out of the way:
This happens with my own addin, as well as another third party VSTO add-in, so I don't think I'm doing anything incorrect
.net 4.0. VSTO runtime 10.0.50701
Windows 8. Also tried Windows 7
I am using the |vstolocal suffix in the HKLM registry for the addin
I have also tried adjusting the 'program files' paths in the registry here: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion to point to my new 'F:' location, and that didn't change any behavior
Here are the steps I'm taking:
Create a new volume on a separate disk other than C:. I called mine 'F:'
Add the program files structures F:\program files and F:\program files (x86)
Install your VSTO addin (I'm using Outlook but it will happen with Word too) to "F:\program files (x86)" instead of the 'C:' drive
Launch Outlook.
Result is this dialog:
According to this, I shouldn't be getting this since its an all users install (see the Inclusion List section):
Is this a Microsoft issue? I realize I can add to the Inclusion myself however then I would be subscribing to more of a per-user approach, and that seems like a bad approach. Is this coming up because anything other than the 'real' program files folder cannot really be trusted by VSTO loader?
The dialog window belongs to the ClickOnce installer. But the link goes to the Windows Installer section in MSDN.
It is up to you where to install the add-in, there is no need to use the Program Files folder.
Make sure that you did all the steps described in the Deploying an Office Solution by Using Windows Installer article. It describes all the required steps for creating add-in installers.
I recently went through the same thing, i got this when i just published the vsto from vs2015. I tried using installshield, yielded the same issues, eventually i switched to wix installer, now i don't have any update checks running and its a clean install. These are some customization updates and our client actually had a firewall blocking it so the install failed. Try wix it worked great for me. Hopefully you don't end up with my current issue of not seeing the add-in if i am not running outlook as Administrator, driving me nuts, good luck.

Outlook AddIn gives "AddIn element not found in XML" error on install

I've created my first Outlook 2010 AddIn using VS 2012 but I'm having trouble creating a setup.exe.
I'm using clickOnce to publish the setup.exe files but when I try to install the AddIn, I get the same message as this guy - Error deploying VSTO Office addin
It turns out I cannot create MSI installer in VS2012 as written in the accepted SO answer because MS no longer supports it. Instead I am to use InstallShield to create the setup.exe. I tried that with the steps outlined in this video - http://resources.flexerasoftware.com/web/demos/IS2010_VSLE_Demo/IS2010_VSLE_Demo-lite.html
That failed too. For some reason it cannot find the .vsto file which doesn't seem to get created! The file path it looks for is also wrong even though I did specify in the registry "[TARGETDIR]… |vstolocal" per the instructions from an MSDN page.
Question: What do I need to do to fix either the clickOnce installer error or the InstallShield error?
I don't care which deployment method I use as long as:
1. it WORKS!
2. I can copy the setup.exe (w/ any necessary files) on to a USB stick and give a few people to test the Outlook AddIn.
Thanks.
Thanks to Andy_mic in MSDN Forum, here's the answer:
Follow ALL the steps, step by step, in the following link: Deploying an Office Solution by Using Windows Installer
I ran into a couple of problems:
I did not have the GUI Generator installed as a windows program. See this post for solution: Is Tools > Create GUID removed in Visual Studio 2012?
The value for the Manifest in the Registry data of the AddIn should be: "file:///[INSTALLDIR]ManifestFileName.vsto|vstolocal". In my case the manifest filename was ABCAddin_v1_0_0.vsto and so the value has to be "file:///[INSTALLDIR]ABCAddin_v1_0_0.vsto|vstolocal"
If you do not find the deployment and application manifest files in the "bin/release" folder, its because you need build a release version of the project first!