每次更新后固定在任务栏的图标就消失了, 能否优化。
这个问题困扰我很久了,还是反馈一下。应该是能解决的,毕竟我固定的几个浏览器图标一直更新也没消失。
好像是安装包制作方面的问题。
每次更新后固定在任务栏的图标就消失了, 能否优化。
这个问题困扰我很久了,还是反馈一下。应该是能解决的,毕竟我固定的几个浏览器图标一直更新也没消失。
好像是安装包制作方面的问题。
我刚问了一下大模型,给我的回答是这样的:
这是因为在制作安装包时,NSIS 脚本没有正确处理任务栏图标的更新。当你更新软件时,NSIS 会覆盖原有的安装文件,其中包括应用程序的快捷方式和任务栏图标。为了解决这个问题,你需要在 NSIS 脚本中添加逻辑来更新任务栏图标。
以下是一个简单的示例脚本,用于在安装和更新过程中保留任务栏图标:
!include "MUI2.nsh"
!define APP_NAME "YourApp"
!define APP_VERSION "1.0.0"
!define APP_PUBLISHER "YourCompany"
Name "${APP_NAME} ${APP_VERSION}"
Caption "${APP_NAME}"
Outfile "${APP_NAME}_${APP_VERSION}.exe"
InstallDir "$PROGRAMFILES\${APP_NAME}"
InstallDirRegKey HKCUSoftware\${APP_PUBLISHER}\${APP_NAME} ""
RequestExecutionLevel admin
ShowInstDetails show
Section "MainSection" secMain
; ...
SectionEnd
Section "TaskBarIcon" secTaskbarIcon
CreateShortCut "$APPDATA\Microsoft\Windows\Start Menu\${APP_NAME}.lnk" "$INSTALLDIR\YourApp.exe" \
"IconFile ""$INSTALLDIR\YourApp.ico"" ; IconIndex 0" \
"WorkingDir ""$INSTALLDIR""" \
"Description ""${APP_NAME}"" ; ShortcutName ""${APP_NAME}""" \
"ShowOnlyOnTaskbar" TRUE
UpdateIcon "$APPDATA\Microsoft\Windows\Start Menu\${APP_NAME}.lnk" "${INSTALLDIR}\YourApp.ico"
SectionEnd
Section "Uninstall"
; ...
SectionEnd
在这个示例脚本中,我们创建了一个名为 "TaskBarIcon" 的 section。在这个 section 中,我们首先创建了一个任务栏图标快捷方式,并将其信息存储在应用程序的启动菜单中。然后,我们使用 UpdateIcon
指令在安装和更新过程中更新图标。这样,无论何时更新软件,任务栏上的图标都将保持不变。
问:需要更详细的解释一下 TaskBarIcon 里的代码
答:当然可以。以下是关于 "TaskBarIcon" 部分代码的详细解释:
Section "TaskBarIcon" secTaskbarIcon
CreateShortCut "$APPDATA\Microsoft\Windows\Start Menu\${APP_NAME}.lnk" "$INSTALLDIR\YourApp.exe" \
"IconFile ""$INSTALLDIR\YourApp.ico"" ; IconIndex 0" \
"WorkingDir ""$INSTALLDIR""" \
"Description ""${APP_NAME}"" ; ShortcutName ""${APP_NAME}""" \
"ShowOnlyOnTaskbar" TRUE
UpdateIcon "$APPDATA\Microsoft\Windows\Start Menu\${APP_NAME}.lnk" "${INSTALLDIR}\YourApp.ico"
SectionEnd
Section "TaskBarIcon" secTaskbarIcon
:定义一个名为 "TaskBarIcon" 的 section。这个 section 将在安装过程中创建任务栏图标。CreateShortCut "$APPDATA\Microsoft\Windows\Start Menu\${APP_NAME}.lnk" "$INSTALLDIR\YourApp.exe"
:创建一个名为 "${APP_NAME}.lnk" 的快捷方式,指向安装目录下的 "YourApp.exe" 文件。这将在用户的启动菜单中创建一个快捷方式。"IconFile ""$INSTALLDIR\YourApp.ico"" ; IconIndex 0"
:设置快捷方式的图标。这里我们使用安装目录下的 "YourApp.ico" 文件作为图标。"WorkingDir ""$INSTALLDIR"""
:设置快捷方式的工作目录。这里我们将其设置为安装目录。"Description ""${APP_NAME}"" ; ShortcutName ""${APP_NAME}"""
:设置快捷方式的描述和显示名称。这里我们将其设置为 "${APP_NAME}"。"ShowOnlyOnTaskbar" TRUE
:设置快捷方式仅在任务栏上显示。这将确保图标不会出现在启动菜单中。UpdateIcon "$APPDATA\Microsoft\Windows\Start Menu\${APP_NAME}.lnk" "${INSTALLDIR}\YourApp.ico"
:在安装和更新过程中更新快捷方式的图标。这将确保任务栏图标在更新软件时保持不变。SectionEnd
:结束 "TaskBarIcon" section。这段代码的主要目的是在安装过程中创建一个任务栏图标,并在更新软件时更新图标。这样,无论何时更新软件,任务栏上的图标都将保持不变。
AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。
Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。
Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。
Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。
Open Source, Open Mind, Open Sight, Open Future!
Notion - The all-in-one workspace for your notes, tasks, wikis, and databases.
ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。
IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。
Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。
JRebel 是一款 Java 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。
星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网
各种网址链接、内容导航。
etcd 是一个分布式、高可用的 key-value 数据存储,专门用于在分布式系统中保存关键数据。
GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。
Mobi.css is a lightweight, flexible CSS framework that focus on mobile.
DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。
人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。
PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。
Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。
愿逝者安息!
NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。
你若安好,便是晴天。
InfluxDB 是一个开源的没有外部依赖的时间序列数据库。适用于记录度量,事件及实时分析。
域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。
上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于