如何更改图标“添加或删除程序”(How to change the icon in 'Add

2019-09-01 02:43发布

我试图设置图标中的添加或删除程序一样的我的应用程序的图标。 我的图标被保存在我的解决方案的应用程序文件夹。 我上阅读SourceForge上 ,你必须编辑ARPPRODUCTICON财产。 如何/我在哪里做这在Windows窗体?

Answer 1:

我发现了一个非常简单的解决方案。 在部署项目的属性,点击“AddRemoveProgram”,并浏览你的文件。 我建议您在应用程序文件夹下探应用程序的图标。



Answer 2:

您可以手动更改下这些细节

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

一些有效的接受键值:

  • INSTALLLOCATION(字符串) - 安装目录($ INSTDIR)
  • DisplayIcon(串) - 路径,文件名以及将被旁边显示您的应用程序名称的图标的索引
  • 出版商(串) - 发布者(公司)名称
  • ModifyPath(字符串) - 应用程序修改的路径和文件名
  • InstallSource(字符串) - 位置申请被从安装
  • 产品ID(字符串) - 应用程序的产品ID
  • 自述(串) - 路径(文件或URL)自述信息
  • RegOwner(字符串) - 应用程序的登记车主
  • RegCompany(字符串) - 应用程序的注册公司
  • HELPLINK(字符串) - 链接到支持网站
  • HelpTelephone(字符串) - 用于支持电话号码
  • URLUpdateInfo(字符串) - 链接到网页应用程序更新
  • URLInfoAbout(字符串) - 链接到应用程序主页
  • DisplayVersion(字符串) - 应用程序的版本显示
  • VersionMajor(DWORD) - 应用程序的主版本号
  • VersionMinor(DWORD) - 应用程序的次版本号
  • NOMODIFY(DWORD) - 1,如果卸载程序没有选项来修改安装的应用程序
  • NoRepair(DWORD) - 1,如果卸载程序没有选择修复安装
  • SystemComponent(DWORD) - 设置1到在添加的程序列表中的应用程序的显示防止/删除程序控制面板中。
  • EstimatedSize(DWORD) - 已安装的文件的大小(KB)
  • 评论(string) - 一个描述安装程序包的注释

如果两个NOMODIFY和NoRepair被设置为1,该按钮显示“删除”,而不是“修改/删除”。

例如:

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"

您可以更改(或创建它,如果它不存在)的价值DisplayIcon关键。 这将改变卸载程序图标添加或在控制面板中删除程序



Answer 3:

在第一次启动运行容易way-代码(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

或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
    }
}


Answer 4:

是的,你可以通过这个代码做到这一点:

 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)


Answer 5:

Windows安装支持财产,你可以添加图标ARPPRODUCTICON 。 设置该属性,我们需要使用您的安装程序来添加图标Icon元素。

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

这将在控制面板中添加图标。



Answer 6:

在Visual Studio 2017年社区版:

选择安装项目,然后按F4(鼠标点击是没有帮助的这个时候,但我发誓,我得到它通过另一种方式了。)



文章来源: How to change the icon in 'Add or Remove Programs'