Authoring an MSI without using Selfreg
Hi everyone,
We have an in house developed MSI which we've been asked to transform and deploy. It is compiled using WFWI - unfortunately it has 117 dlls / ocxs which are registered via the selfreg table... [:@]
Obviously I could remove the Selfreg entries, capture registration adding the data to the msi in the correct tables but I was hoping this can be done when the developer compiles the MSI to save us the hassle as we get new versions of this app fairly regularly.
I asked the package author to uncheck the "Automatically add self registration" box on the advertising tab under Wise Options leaving the advertising setting at "Scan advertising into both advertising tables and registry". Now the MSI has no entries in the Selfreg table and nearly 3000 in the registry table. Unfortunately the now app isn't working after install - regsvr32 all the dlls and it works. This writes an additional 8000+ reg keys / values which is obviously missing from the MSI.
I'm not clear on if / how you get the additional stuff into the MSI when it's compiled - tried setting the "Self-register keypath before compile" and "Rescan advertising information during compile" but this doesn't create any new info in registry, class, typelib, progid tables etc. Each dll / ocx is installed by it's own component with the appropriate dll / ocx as the keypath.
Any thoughts? Hope this makes sense..
Thanks,
Rob.
We have an in house developed MSI which we've been asked to transform and deploy. It is compiled using WFWI - unfortunately it has 117 dlls / ocxs which are registered via the selfreg table... [:@]
Obviously I could remove the Selfreg entries, capture registration adding the data to the msi in the correct tables but I was hoping this can be done when the developer compiles the MSI to save us the hassle as we get new versions of this app fairly regularly.
I asked the package author to uncheck the "Automatically add self registration" box on the advertising tab under Wise Options leaving the advertising setting at "Scan advertising into both advertising tables and registry". Now the MSI has no entries in the Selfreg table and nearly 3000 in the registry table. Unfortunately the now app isn't working after install - regsvr32 all the dlls and it works. This writes an additional 8000+ reg keys / values which is obviously missing from the MSI.
I'm not clear on if / how you get the additional stuff into the MSI when it's compiled - tried setting the "Self-register keypath before compile" and "Rescan advertising information during compile" but this doesn't create any new info in registry, class, typelib, progid tables etc. Each dll / ocx is installed by it's own component with the appropriate dll / ocx as the keypath.
Any thoughts? Hope this makes sense..
Thanks,
Rob.
0 Comments
[ + ] Show comments
Answers (5)
Please log in to answer
Posted by:
MSIPackager
19 years ago
Posted by:
AngelD
19 years ago
Just make sure they unmark "Automatically add self-registration" and set the "Advertising Setting" to "Scan advertising information into advertising tables" instead of "Scan advertising into both advertising tables and registry" as it's unnecessary to add it to the registry too cluttering the package with duplicated registry information in my opinion.
Posted by:
GB1
19 years ago
Posted by:
MSIPackager
19 years ago
Its not good practice, checkit: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/selfreg_table.asp
Posted by:
AngelD
19 years ago
I'm guessing that the developers of the application has it installed on their client already. Why not as it's already installed and the com-files are already registered drop them into the msi using wise and the advertising info should just be added by itself. It's only 117 files and they should know where it's located ;)
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.