I have an Excel VSTO AddIn that I moved up to Excel 2007/VS2010 last fall. I tried using ClickOnce but the headaches involved with that were just insurmountable and every install became a manual one. I moved to to a MSI setup, but now that is starting cause problems when upgrading. I have a machine now that will not install it properly, and when I try to run the VSTOInstaller.exe manually, I get the following error. I have cleaned EVERYTHING off the system and tried multiple times to get this to work, but no dice. Normally it creates a whole bunch of garbage files in the "Users\Apps\Local..." area, but not I get nothing. I have tried rebuilding with various configurations, all of which result in the same error:
System.Runtime.InteropServices.COMException (0x800736B3): The referenced assembly is not installed on your system. (Exception from HRESULT: 0x800736B3) at Microsoft.VisualStudio.Tools.Applications.Deployment.ClickOnceAddInDeploymentManager.GetManifests(TimeSpan timeout) at Microsoft.VisualStudio.Tools.Applications.Deployment.ClickOnceAddInDeploymentManager.InstallAddIn()
Basically, I hate ClickOnce and I'm totally frustrated right now. How do I create a "normal" setup app for VSTO?
Thanks!
Tip 1:
You might have to install:
Microsoft Office 2010 Primary Interop Assemblies Bootstrapper Package"
(Probably your machine has only the 2007 version of the bootstrapper currently.)
Tip 2:
Run program "mage.exe" with the -cc (ClearApplicationCache) option http://msdn.microsoft.com/en-us/library/acz3y3te.aspx
Good luck.
I was finally able to track it down to the ClickOnce cache, which I was very disappointed about because I was hoping that the MSI would have no ClickOnce to deal with. Once that was cleared by manually deleting the folders, I was finally able to get it to install. But ClickOnce is a simply awful install application.
Not a lot to go on here, but are you sure you've got the right .net runtime installed? With 2010, you may have targeted the client or compact framework, or maybe .net 4.0, but the target machine had an older .net on it. There is also a way to log all the DLLs that an exe depends on as the EXE is requesting them, during the load process, but for the life of me, I can't recall what that process is called so I can't post any links to that right off.
User contributions licensed under CC BY-SA 3.0