Mam jedną aplikację systemu Windows, która jest wdrażana przy użyciu technologii ClickOnce. Czy istnieje sposób zmiany ikony tej aplikacji wyświetlanej na obrazku?Czy istnieje sposób zmiany ikony aplikacji ClickOnce w "Dodaj lub usuń programy"?
6
A
Odpowiedz
2
Poniższy kod jest to, co służy do rozwiązywania problemu. Użyłem pytania przepełnienia stosu Custom icon for ClickOnce application in 'Add or Remove Programs'.
private static void SetAddRemoveProgramsIcon()
{
//only run if deployed
if (System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed
&& ApplicationDeployment.CurrentDeployment.IsFirstRun)
{
try
{
Assembly code = Assembly.GetExecutingAssembly();
AssemblyDescriptionAttribute asdescription =
(AssemblyDescriptionAttribute)Attribute.GetCustomAttribute(code, typeof(AssemblyDescriptionAttribute));
// string assemblyDescription = asdescription.Description;
//the icon is included in this program
string iconSourcePath = Path.Combine(System.Windows.Forms.Application.StartupPath, "hl772-2.ico");
if (!File.Exists(iconSourcePath))
return;
RegistryKey myUninstallKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Uninstall");
string[] mySubKeyNames = myUninstallKey.GetSubKeyNames();
for (int i = 0; i < mySubKeyNames.Length; i++)
{
RegistryKey myKey = myUninstallKey.OpenSubKey(mySubKeyNames[i], true);
object myValue = myKey.GetValue("DisplayName");
if (myValue != null && myValue.ToString() == "admin")
{
myKey.SetValue("DisplayIcon", iconSourcePath);
break;
}
}
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message.ToString());
}
}
}
+0
Próbowałem tego rozwiązania, ale nie zmienia ono obrazu pokazanego w oknie instalacji (jak na zrzucie ekranu posta otwierającego). Czy ktoś ma na to rozwiązanie? –
+0
Skąd wywołujesz ten kod? – HackSlash
http://stackoverflow.com/questions/10927109/icon-for-click-once-app-in-add-or-remove-programs – Karthik
dziękuję .. Jego pracował dla mnie. – ManjuVijayan
Great..Post, co zadziałało, zamiast opublikować link .. :) – Karthik