gpt4 book ai didi

installation - 在任何计算机上使用 InnoSetup 永久自定义文件夹图标

转载 作者:行者123 更新时间:2023-12-02 23:25:17 25 4
gpt4 key购买 nike

我修改了一些文件夹图标,并将这些文件夹包含在我的 InnoSetup 安装中。问题是,一旦安装了我的程序,我的自定义文件夹图标就消失了,我看到的只是老式的“黄色”Windows 文件夹图标。

编辑

答案由用户TLama提供。起初它在我的电脑上运行。我在不同的计算机上使用不同的 Windows 版本时遇到了一些问题。在几个计算机系统中成功尝试之后,我现在将编写我的工作代码。

使用的图标:

  • Ico1.ico
  • Ico2.ico
  • Ico3.ico

修改文件夹图标:

  • c:\FDR1
  • c:\FDR2\FDR3

第 1 步:

我使用了“文件夹图标更换器”软件来为我想要更改的三个文件夹设置图标。您也可以使用任何其他免费软件。执行后,每个新更改的图标文件夹中都会出现一个desktop.ini。例如,FDR1 的内容为:

[.Shellclassinfo]
Iconfile=F:\Resource\Icons\Ico1.ico
Iconindex= 0

第 2 步:

然后我删除了上面的路径并将“Ico1.ico”保存到我刚刚修改的目录“c:\FDR1”中:

[.Shellclassinfo]
Iconfile=Ico1.ico
Iconindex= 0

我对 Ico2.ico(在 FDR2 内)和 Ico3.ico(在 FDR3 内)执行了相同的操作。 “Icon1、2、3”和“desktop.ini”文件属性均设置为隐藏。但是,重要的是不要将图标属性设置为“只读”。

第 3 步:

Inno内部重复TLama的建议。

#define OutputDirectory_1 "c:\FDR1"
#define OutputDirectory_2 "c:\FDR2"
#define OutputDirectory_3 "c:\FDR2\FDR3"

[Dirs]
Name: {#OutputDirectory_1}; Attribs: system
Name: {#OutputDirectory_2}; Attribs: system
Name: {#OutputDirectory_3}; Attribs: system

[Files]
Source: "c:\FDR1\Ico1.ico"; DestDir: {#OutputDirectory_1}; Attribs: hidden system
Source: "c:\FDR2\Ico2.ico"; DestDir: {#OutputDirectory_2}; Attribs: hidden system
Source: "c:\FDR2\FDR3\Ico3.ico"; DestDir: {#OutputDirectory_3}; Attribs: hidden system

第 4 步:

编译!

现在,您的文件夹图标将在任何计算机和系统中永久有效!!

最佳答案

您的目标文件夹应该配置为只读或系统属性。要创建这样的文件夹,您可以使用,如 Miral 提到的, [Dirs]部分及其属性。这样做的一个优点是,在运行安装过程后,InnoSetup 会自动通知 Shell 有关更改的信息,因此文件夹图标将发生更改,而无需调用额外的通知函数。

; this is a defined preprocessor variable used to simplify the script
; management; this variable contains the path, where the icon will be
; applied (it's used twice in a script, so it's easier to manage that
; from one place)
#define OutputDirectory "d:\TargetDirectory"

[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
OutputDir=userdocs:Inno Setup Examples Output

[Files]
; here you need to use "hidden" and "system" values in Attribs parameter
; to include into the Desktop.ini file hidden and system file attributes
Source: "Desktop.ini"; DestDir: {#OutputDirectory}; Attribs: hidden system

[Dirs]
; here you need to use either "readonly" or "system" value in Attribs parameter
; to setup to the output directory read only or system file directory attribute
Name: {#OutputDirectory}; Attribs: readonly

重要:

不要忘记,每当您更改输入 Desktop.ini 文件的内容以及当您更改预处理器路径变量的值时(我已经错过了几次,然后想知道安装包内容)。

关于installation - 在任何计算机上使用 InnoSetup 永久自定义文件夹图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12327160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com