我需要用户能够双击 .pdb 文件并使用 myPgm.exe 打开它。
将文件类型 (myData.pdb) 与可执行文件 (myPgm.exe) 关联的语法是什么?
它是注册表项吗?
最佳答案
有an entry for that in the FAQ在 Inno Setup 网站上。以下是常见问题解答相关部分的引用:
创建文件关联
先设置[Setup]
部分指令 ChangesAssociations
至 yes
.然后创建[Registry]
条目如下所示。
[Registry]
Root: HKCR; Subkey: ".myp"; ValueType: string; ValueName: ""; ValueData: "MyProgramFile"; Flags: uninsdeletevalue
".myp"
是我们关联的扩展。 "MyProgramFile"
是存储在注册表中的文件类型的内部名称。请确保为此使用唯一名称,以免无意中覆盖另一个应用程序的注册表项。Root: HKCR; Subkey: "MyProgramFile"; ValueType: string; ValueName: ""; ValueData: "My Program File"; Flags: uninsdeletekey
"My Program File"
上面是资源管理器中显示的文件类型的名称。Root: HKCR; Subkey: "MyProgramFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\MYPROG.EXE,0"
"DefaultIcon"
是指定包含与文件类型关联的图标的文件名的注册表项。 ",0"
告诉资源管理器使用 MYPROG.EXE
中的第一个图标. ( ",1"
表示第二个图标。)Root: HKCR; Subkey: "MyProgramFile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\MYPROG.EXE"" ""%1"""
"shell\open\command"
是指定在资源管理器中双击该类型的文件时要执行的程序的注册表项。周围的引号在命令行中,因此它可以正确处理长文件名。
关于inno-setup - 如何在 Inno-setup 中更改文件关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4788169/