问题
Good Day All,
I am unfamiliar with the proper techniques for packaging a windows installer for my COM level addin (This is the higher level version which registers a COM server [implements the ID2Extesibility interface] and can be distributed to all office products at once [word, excel, etc]). I am using VS2010 and am attempting to get the addin to work on a customer's computer. I believe that I have figured out the problem is within the COM registration itself. It seems that the installer has decided to reference my development binary and not the installed location. How can i change this value in the installer?
Basically it is writing
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\{MYclassID}\InprocServer32\{VER}\CodeBase
as "C:\MyVS10Install\MyProj\Debug\MyProjDLL.dll"
How do i change this to:
c:\Program Files\My Install Path\MyProjDLL.dll
??
Any help would be great, its impossible to find any information on this because I probably don't know what I'm looking for.
EDIT:
I am thinking it's the registration portion, because the addin works perfectly in my computer, but doesn't install on the customer's
回答1:
It seems that the installer has decided to reference my development binary and not the installed location. How can i change this value in the installer?
If you believe it is the Installer responsible for the problem, check that CodeBase is not hardcoded to point to C:\MyVS10Install
. You should be able to see this in the Registry table of the msi database
If it is hardcoded to point there, then try using [INSTALLDIR]\My Install Path\MyProjDLL.dll
as the value
来源:https://stackoverflow.com/questions/16979440/packaging-a-com-addin-for-deployment