[RESOLVED] what is the best way to register my installed programs
hey when i set up programs with an installer how do i use regsvr32?
i can put them in the run section in the registry but theres another way is there a way to use regsvr32 from my installer?
thanks
Installation package authors are strongly advised against using self registration and the SelfReg table. Instead they should register modules by authoring one or more of the tables in the Registry Tables Group. Many of the benefits of the Windows Installer are lost with self registration because self-registration routines tend to hide critical configuration information. For a list of the reasons for avoiding self registration see SelfReg table.
Installation package authors are strongly advised against using self registration. Instead they should register modules by authoring one or more tables provided by the installer for this purpose. For more information, see Registry Tables Group. Many of the benefits of having a central installer service are lost with self registration because self-registration routines tend to hide critical configuration information. Reasons for avoiding self registration include:
Rollback of an installation with self-registered modules cannot be safely done using DllUnregisterServer because there is no way of telling if the self-registered keys are used by another feature or application.
The ability to use advertisement is reduced if Class or extension server registration is performed within self-registration routines.
The installer automatically handles HKCR keys in the registry tables for both per-user or per-machine installations. DllRegisterServer routines currently do not support the notion of a per-user HKCR key.
If multiple users are using a self-registered application on the same computer, each user must install the application the first time they run it. Otherwise the installer cannot easily determine that the proper HKCU registry keys exist.
The DllRegisterServer can be denied access to network resources such as type libraries if a component is both specified as run-from-source and is listed in the SelfReg table. This can cause the installation of the component to fail to during an administrative installation.
Self-registering DLLs are more susceptible to coding errors because the new code required for DllRegisterServer is commonly different for each DLL. Instead use the registry tables in the database to take advantage of existing code provided by the installer.
Self-registering DLLs can sometimes link to auxiliary DLLs that are not present or are the wrong version. In contrast, the installer can register the DLLs using the registry tables with no dependency on the current state of the system.
These have been the Windows "Best Practices" since around 1998 to 1999. Following these rules means you cannot use the P&D Wizard, Inno, or other 3rd party "legacy scripted setups." All of those break the rules and none of them use the Windows Installer Service.
Learning to create proper Installer packages is a topic in itself. This is why so many shadetree coders still use the old techniques that date back to Windows 3.0. Those old methods aren't "wrong" as much as they are frought with unexpected pitfalls.
Ironically when old fashioned setups lead to problems programmers often try to blame Microsoft. Even more ironically Microsoft provided a tool for creating Windows Installer packages for VB6 programs in late 1998 and even put out an updated version in 2000 - but few VB6 programmers seem to have ever even installed it. Visual Studio 6.0 Installer 1.1 replaced the PDW in 2000 and can still be downloaded today (9 years later).