I have a PowerPoint 2010 application-level add-in developed using VS2012 and VSTO. It works with PowerPoint 2007 too. I built an installer for it using the (terrible) InstallShield LE crippleware provided with VS2012. I’ve been able to install it on various test machines, but now that I’m trying to deploy it to a client, they can’t install it on some machines.
One user at the client’s site can install it, but that user works in IT and has admin rights on his machine. However, when the IT admins try to install it on a “normal” user’s machine, the install seems to go OK but the add-in is not loaded by PowerPoint.
The “COM add-ins” dialog shows the message:
Load behavior: Not loaded. The Managed Add-in Loader failed to initialize.
[In case it’s relevant, this client uses Office 2007. Note however that it works OK on Office 2007 both on my test hardware and for that one user at the client.]
Is there anything I can do to figure out why? Is there anything obvious that I should be doing as part of the installation? Clearly the registry entries are being set, because the add-in is listed in the COM Add-ins dialog. And I assume that all the required files are installed, because the installer works fine on other machines.
I guess it may be a security-related issue. I should note that I’m not doing anything security-wise, and I don’t think the InstallShield thing is doing anything helpful in this regard. I don’t know whether it’s necessary to digitally sign my code (I haven’t), or somehow set some security policy stuff (I wouldn’t know how). I’ve seen some stuff on-line about using CasPol (?) to apply security settings to add-ins, but that applied to older versions of VS and/or ClickOnce, and I wasn’t sure whether I needed any of that.
It turns out that the VSTO runtime is not installed with Office 2007 (it is installed with Office 2010). The IT user who could load the add-in already had it because he’d installed something else that included it (I guess). The other users did not have it.
So, I updated my installer to include it, and it now works.