4
我有一个.NET应用程序通过ClickOnce部署。应用程序图标在开始菜单,任务栏等上显示得很好,但不在控制面板中的添加/删除程序中显示。我需要做些什么来解决这个问题?应用程序图标不显示在控制面板'添加/删除程序'
我有一个.NET应用程序通过ClickOnce部署。应用程序图标在开始菜单,任务栏等上显示得很好,但不在控制面板中的添加/删除程序中显示。我需要做些什么来解决这个问题?应用程序图标不显示在控制面板'添加/删除程序'
这不支持ClickOnce(尽管我一直在问)。
我以前收集了以下代码,但我从来没有时间去尝试。如果它引起问题,我会在其周围放置try
/catch
。让我知道它是否有效。 ;-)
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 , true);
object myValue = myKey.GetValue("DisplayName");
if (myValue != null && (string)myValue == _ApplicationName)
{
myKey.SetValue("DisplayIcon", _ExecutablePath + @"\App.ico");
break;
}
}
这显然会要求您提供完全信任或注册表权限。这就是大多数人所做的(完全信任我的意思),但如果你确实关心在较低的信任度下运行,还是一个很好的记忆。 – 2010-06-22 13:59:04
我认为它可能与部分信任一起工作,因为它正在编辑注册表的HKCU部分,而ClickOnce应用程序应该可以访问它。 – RobinDotNet 2010-06-22 17:19:17
你会在哪里放这个代码 - 在应用程序启动代码或一些exe后安装(如何)? – Graeme 2010-06-23 14:25:39