代码之家  ›  专栏  ›  技术社区  ›  Vector

所有程序文件夹未在Inno安装程序创建的exe文件上显示

  •  0
  • Vector  · 技术社区  · 3 年前

    我正在使用Inno安装程序,多年来一直没有问题。

    我没有在“所有程序”中看到应用程序上的图标。

    桌面快捷方式显示图标,程序和功能列表显示图标。

    烧嘴和卡片打印机是用Inno安装程序安装的。

    我尝试了对Inno安装文件的各种更改,但没有任何积极的结果。

    问题是,有人能看到Inno安装语法有什么问题吗?

    All Programs

    AppName=CheckBook
    AppVersion=1.5
    AppPublisher=Pharmacy Solutions
    DefaultDirName=C:\Users\Dwight\Documents\A A A A VS Apps\CheckBook
    DisableDirPage=yes
    DisableProgramGroupPage=yes
    OutputDir="C:\Users\Dwight\Documents\A A A A VS Apps"
    OutputBaseFilename=SetupCheckBook
    SetupIconFile=C:\Users\Dwight\source\repos\CheckBook\CheckBook\cb.ico
    Compression=lzma
    SolidCompression=yes
    
    UninstallDisplayIcon=C:\Users\Dwight\source\repos\CheckBook\CheckBook\cb.ico
    
    [Languages]
    Name: "english"; MessagesFile: "compiler:Default.isl"
    
    [Tasks]
    Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
    
    [Files]
    Source: "C:\Users\Dwight\source\repos\CheckBook\CheckBook\bin\Debug\CheckBook.exe"; DestDir: "{app}"; Flags: ignoreversion
    Source: "C:\Users\Dwight\source\repos\CheckBook\CheckBook\cb.ico";DestDir:"{app}";Flags:ignoreversion
    Source: "C:\Users\Dwight\source\repos\CheckBook\CheckBook\bin\Debug\System.Data.SQLite.dll"; DestDir: "{app}"; Flags: ignoreversion
    Source: "C:\Users\Dwight\source\repos\CheckBook\CheckBook\bin\Debug\x64\SQLite.Interop.dll"; DestDir: "{app}"; Flags: ignoreversion
    Source: "C:\Users\Dwight\source\repos\CheckBook\CheckBook\bin\Debug\x86\SQLite.Interop.dll"; DestDir: "{app}"; Flags: ignoreversion
    ; NOTE: Don't use "Flags: ignoreversion" on any shared system files
    
    [Icons]
    Name: "{commonprograms}\CheckBook"; Filename: "{app}\CheckBook.exe" 
    Name: "{commondesktop}\CheckBook"; Filename: "{app}\CheckBook.exe"; Tasks: desktopicon ; IconFilename: "{app}\cb.ico"
    
    
    [Run]
    Filename: "{app}\CheckBook.exe"; Description: "{cm:LaunchProgram,CheckBook}"; Flags: nowait postinstall skipifsilent
    

    我将[图标]代码更改为这种格式,现在是唯一不显示cb的项目。ico是支票簿。执行档

    [Icons]
    Name: "{commonprograms}\CheckBook"; Filename: "{app}\CheckBook.exe";Tasks: desktopicon ; IconFilename: "{app}\cb.ico"  
    Name: "{commondesktop}\CheckBook"; Filename: "{app}\CheckBook.exe"; Tasks: desktopicon ; IconFilename: "{app}\cb.ico"

    该问题以链接提供的回答问题的声明结束。但事实并非如此,我们探索了这一联系,但未能产生预期的结果。我正试图在CheckBoo上附加一个图标。exe。 因此,关闭问题并引用旧帖子并不能提供想要的答案

    0 回复  |  直到 3 年前
        1
  •  1
  •   Andrew Truckle    3 年前

    UninstallDisplayIcon 指令需要安装系统的本地文件,而不是源系统的本地文件。
    如果您将其更改为:

    UninstallDisplayIcon={app}\cb.ico
    

    它应该正常工作。
    文档显示了使用 {app} 常数从文档中:

    说明:

    这使您可以指定特定的图标文件(可执行文件或.ico文件),以在“添加/删除程序”控制面板小程序中显示卸载条目。文件名通常以目录常量开头。

    如果指定的文件包含多个图标,则可以添加后缀“.n”以指定图标索引,其中n是基于零的数字索引。

    Examples:
    UninstallDisplayIcon={app}\MyProg.exe
    UninstallDisplayIcon={app}\MyProg.exe,1