clickonce 从哪里获取DisplayName
寄存器中使用的值HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\XXXXXXXX
?我尝试在 VS(项目-> 属性-> 应用程序-> 程序集信息)上更改应用程序标题和程序集名称,但这并没有改变那里使用的名称DisplayName
。
我需要这个,因为我想避免在这段代码上硬编码我的应用程序名称,这会在添加/删除程序时更改我的应用程序的卸载图标
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() == applictionName) /* this must be the same used by clickonce to set DisplayName value */
{
myKey.SetValue("DisplayIcon", iconSourcePath);
break;
}
}