I can still see your last post in this group, dated 7/1/2008.
InstallState files are part of the implementation that makes Installer
classes work. If you used a vb script, C++ Dll, or an executable as a custom
action they are not used.
Your installer class assembly is installed on the system because that's the
way installer classes work. It has to be there so that InstallUtilLib
infrastructure (a Dll included in your MSI file) can look at your assembly,
find installer classes by reflection, load the .NET framework into the
msiexec process, instantiate your installer class abd call methods. If you
used a C++ Dll or a vbscript (or maybe an executable) then you could mark
the custom action code as Exclude in the setup project, then it doesn't get
installed - Windowws Installer has built-in support for streaming binaries
out of the MSI file to call them as custom actions, but not for managed code
cuistom actions.
If you detect some bias here it's because the MSI team doesn't support
installer class custom actions, so .NET executables or C++ Dll cals are
preferable.
http://robmensching.com/blog/archiv...mActions-no-support-on-the-way-and-heres.aspx