2013-04-25 23 views
8

enter image description hereJak zmienić ikonę „Dodaj lub usuń programy”

Próbuję ustawić ikonę Dodaj lub usuń programy się tak samo jak ikona mojej aplikacji. Moja ikona jest przechowywana w folderze aplikacji mojego rozwiązania. Przeczytałem na SourceForge musisz edytować właściwość ARPPRODUCTICON. Jak/gdzie mam to zrobić w Windows Forms?

+1

myślę, że jest dziełem instalatora. –

+1

Nie przechowuj go w folderze, nie umieszczaj go w pliku EXE, więc nie musisz robić nic specjalnego. –

+1

Możliwy duplikat * [Niestandardowa ikona dla aplikacji ClickOnce w "Dodaj lub usuń programy"] (http://stackoverflow.com/questions/10927109/custom-icon-for-clickonce-application-in-add-or-remove- programy) *. –

Odpowiedz

15

Znalazłem bardzo proste rozwiązanie. W obszarze właściwości projektu wdrażania kliknij przycisk "AddRemoveProgram" i wyszukaj plik. Zalecam upuszczenie ikony aplikacji w folderze aplikacji.

enter image description here

+0

Co masz na myśli, mówiąc o "właściwościach projektu wdrożenia"? Rozglądałem się po tych obiektach, ale nie mogłem go znaleźć. Szkoda, że ​​nie ocenzurowałeś topowego kawałka ... –

6

Można ręcznie zmienić te dane pod

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Niektóre z ważnych kluczowych wartości przyjętych:

  • InstallLocation (string) - Katalog instalacji ($ INSTDIR)
  • DisplayIcon (string) - Ścieżka, nazwa pliku i indeks ikony, która będzie wyświetlana obok Twojej nazwy aplikacji
  • Wydawca (string) - (Firma) nazwa wydawcy
  • ModifyPath (string) - Ścieżka i nazwa aplikacji modyfikować Program
  • InstallSource (string) - Miejsce, w którym wniosek został zainstalowany z
  • IDProduktu (string) - ID produktu aplikacji
  • Readme (string) - ścieżka (plik lub URL) do readme informacyjnego
  • RegOwner (string) - Zarejestrowany właściciel aplikacji
  • RegCompany (string) - zarejestrowana spółka z zgłoszenie
  • HelpLink (string) - Link do strony wsparcia
  • online HelpTelephone (string) - Numer telefonu do wsparcia
  • URLUpdateInfo (string) - Link do strony internetowej do aktualizacji aplikacji
  • URLInfoAbout (string) - link do strona główna aplikacja
  • DisplayVersion (string) - Wyświetlana wersja aplikacji
  • VersionMajor (DWORD) - główny numer wersji aplikacji
  • VersionMinor (DWORD) - drugorzędny numer wersji aplikacji
  • NoModify (DWORD) - 1 jeśli deinstalator ma możliwość modyfikowania zainstalowanej aplikacji
  • NoRepair (DWORD) - 1 jeśli deinstalator nie ma opcji, aby naprawić instalację
  • SystemComponent (DWORD) - Zestaw 1 do zapobiega wyświetlanie aplikacji na liście programów Dodaj/Usuń programy w Panelu sterowania.
  • EstimatedSize (DWORD) - Wielkość zainstalowanych plików (w KB)
  • Komentarze (string) - komentarz opisujący pakiet instalatora

Jeśli oba NoModify i NoRepair są ustawione na 1, przycisk wyświetla "Usuń" zamiast "Modyfikuj/Usuń".

Na przykład:

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" 

można zmienić (lub utwórz go, jeśli nie istnieje) wartość klucza DisplayIcon. Spowoduje to zmianę ikony deinstalatora w Dodaj lub usuń programy w panelu sterowania.

1

Tak, można to zrobić przez ten kod:

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) 
1

Instalator Windows obsługuje właściwość za pomocą którego można dodać Ikona ARPPRODUCTICON. Aby ustawić tę właściwość, musimy dodać ikonę do instalatora, używając elementu Icon.

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

Spowoduje to dodanie ikony w Panelu sterowania.

1

Łatwy drodze, na pierwszym uruchomieniu ten kod (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 

lub 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 
    } 
} 
Powiązane problemy