You mark a class derived from System.Configuration.Install.Installer with this attribute to indicate that it should be invoked as a custom action when the assembly is installed. See the documentation for that namespace, and see InstallUtil.exe for more information on installers and custom actions. You can retrieve the state of the attribute with the RunInstaller property, but note that you must compare the object against the static Yes and No values for equality. public class RunInstallerAttribute : Attribute { // Public Constructors public RunInstallerAttribute (bool runInstaller ); // Public Static Fields public static readonly RunInstallerAttribute Default ; // =System.ComponentModel.RunInstallerAttribute public static readonly RunInstallerAttribute No ; // =System.ComponentModel.RunInstallerAttribute public static readonly RunInstallerAttribute Yes ; // =System.ComponentModel.RunInstallerAttribute // Public Instance Properties public bool RunInstaller {get; } // Public Instance Methods public override bool Equals (object obj ); // overrides Attribute public override int GetHashCode (); // overrides Attribute public override bool IsDefaultAttribute (); // overrides Attribute } HierarchySystem.Object System.Attribute RunInstallerAttribute Valid OnClass |