How to change the icon in 'Add or Remove Programs'

17,143

Solution 1

I found an extremely simple solution. Under your deployment project's properties, click the "AddRemoveProgram" and browse for your file. I recommend dropping your application's icon in your Application folder.

enter image description here

Solution 2

You can manually change these details under

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Some of the valid accepted key values:

  • InstallLocation (string) - Installation directory ($INSTDIR)
  • DisplayIcon (string) - Path, filename and index of of the icon that will be displayed next to your application name
  • Publisher (string) - (Company) name of the publisher
  • ModifyPath (string) - Path and filename of the application modify program
  • InstallSource (string) - Location where the application was installed from
  • ProductID (string) - Product ID of the application
  • Readme (string) - Path (File or URL) to readme information
  • RegOwner (string) - Registered owner of the application
  • RegCompany (string) - Registered company of the application
  • HelpLink (string) - Link to the support website
  • HelpTelephone (string) - Telephone number for support
  • URLUpdateInfo (string) - Link to the website for application updates
  • URLInfoAbout (string) - Link to the application home page
  • DisplayVersion (string) - Displayed version of the application
  • VersionMajor (DWORD) - Major version number of the application
  • VersionMinor (DWORD) - Minor version number of the application
  • NoModify (DWORD) - 1 if uninstaller has no option to modify the installed application
  • NoRepair (DWORD) - 1 if the uninstaller has no option to repair the installation
  • SystemComponent (DWORD) - Set 1 to prevents display of the application in the Programs List of the Add/Remove Programs in the Control Panel.
  • EstimatedSize (DWORD) - The size of the installed files (in KB)
  • Comments (string) - A comment describing the installer package

If both NoModify and NoRepair are set to 1, the button displays "Remove" instead of "Modify/Remove".

For example:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WinRAR archiver]
"DisplayName"="WinRAR 4.20 (64-bit)"
"DisplayVersion"="4.20.0"
"VersionMajor"=dword:00000004
"VersionMinor"=dword:00000014
"UninstallString"="C:\\Program Files\\WinRAR\\uninstall.exe"
"DisplayIcon"="C:\\Program Files\\WinRAR\\WinRAR.exe"
"InstallLocation"="C:\\Program Files\\WinRAR\\"
"NoModify"=dword:00000001
"NoRepair"=dword:00000001
"Language"=dword:00000000
"Publisher"="win.rar GmbH"

You can change (or create it if it does not exist) the value of the DisplayIcon key. This will change the uninstaller icon in Add or Remove Programs in the control panel.

Solution 3

The easy way- on first start up run this code (vb .net):

 Dim myUninstallKey As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Uninstall")
 dim iconSourcePath As String = "c:\myprogram\myprogram.exe,0"
 Dim mySubKeyNames As String() = myUninstallKey.GetSubKeyNames()
 For i As Integer = 0 To mySubKeyNames.Length - 1
     Dim myKey As RegistryKey = myUninstallKey.OpenSubKey(mySubKeyNames(i), True)
     Dim myValue As Object = myKey.GetValue("DisplayName")
     If myValue IsNot Nothing AndAlso myValue.ToString() = "YourProgaram" Then
         myKey.SetValue("DisplayIcon", iconSourcePath)
         Exit For
     End If
 Next

or c#

RegistryKey myUninstallKey = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Uninstall");
string iconSourcePath = "c:\myprogram\myprogram.exe,0";
string[] mySubKeyNames = myUninstallKey.GetSubKeyNames();
for (int i = 0; i <= mySubKeyNames.Length - 1; i++) {
    RegistryKey myKey = myUninstallKey.OpenSubKey(mySubKeyNames(i), true);
    object myValue = myKey.GetValue("DisplayName");
    if (myValue != null && myValue.ToString() == "YourProgaram") {
        myKey.SetValue("DisplayIcon", iconSourcePath);
        break; // TODO: might not be correct. Was : Exit For
    }
}

Solution 4

Windows installer supports property by which you can add Icon ARPPRODUCTICON. To Set this property we need to add icon in your installer using Icon element.

<Icon Id="icon.ico" SourceFile="MySourceFiles\icon.ico"/>
<Property Id="ARPPRODUCTICON" Value="icon.ico" />

This will add icon in Control Panel.

Solution 5

Yes, you can do it by this code:

 string Install_Reg_Loc = @"Software\Microsoft\Windows\CurrentVersion\Uninstall";
 string displayIcon = @"C:\MorganTech\setup-icon.ico";
 RegistryKey hKey = (Registry.LocalMachine).OpenSubKey(Install_Reg_Loc, true);
 RegistryKey appKey = hKey.OpenSubKey(productName);
 appKey.SetValue("DisplayIcon", (object)displayicon, RegistryValueKind.String)
Share:
17,143

Related videos on Youtube

Abraham
Author by

Abraham

Updated on September 15, 2022

Comments

  • Abraham
    Abraham over 1 year

    enter image description here

    I'm trying to set the icon in Add or Remove Programs to the same as my application's icon. My icon is stored in the Application Folder of my solution. I read on SourceForge you have to edit the ARPPRODUCTICON property. How/where do I do this in Windows Forms?

  • Dan W
    Dan W over 6 years
    What do you mean by "deployment project's properties"? I looked all over the place for those properties, but couldn't find it. Wish you hadn't censored the top bit...
  • Ameena
    Ameena almost 6 years
    @DanW ... he means the Install/steup project properties.
  • elemer82
    elemer82 almost 6 years
    How do I find this in Visual Studio 2017 ? EDIT, found it, select the deployment project and press F4
  • Dan W
    Dan W almost 6 years
    @Ameena: Still can't find it. Which menu or pane is this supposed to be found in? I'm using VS 2010.
  • Dan W
    Dan W over 5 years
    Months later, still having trouble finding it. Looked everywhere. What exactly do I click on? I'm on a C# Winforms project in VS2010.
  • Poly
    Poly about 5 years
    @Dan W Left click on the "Setup" project then press F4, a window will appear as shown in the image above.
  • Dan W
    Dan W about 5 years
    @Poly: Still can't find it. What exactly do you mean by "Setup" project? I have F4 mapped to actually run the program by the way.
  • Poly
    Poly about 5 years
    @DanW I know I am very late, but in case someone is wondering. You should have your "code" project, where you right your code, and another project of type "setup" which takes your "code" project and wraps in an install-able package, if you left-click on your "setup" project and press F4, properties window appears and you can put your icon there. I am not sure if this is valid for VS-2010, consider upgrading if possible.
  • Etherman
    Etherman almost 4 years
    And VS 2019 Community. Top property is AddRemoveProgramsIcon