今天找一个好用又免费的打包工具,名字叫 Innosetup,打包后可以关联文件类型,以我写的记事本为例,在[Registry]下添加如下内容,就可以关联.txt .py .bat .pl .sh,并且右键菜单弹出时可以选择Edit with JQEdit 打开文本文件。打完包保存好这个.iss文件,下次还需打包直接运行就可以了,
[Registry]
Root: HKA; Subkey: "Software\Classes\Applications\{#MyAppExeName}\SupportedTypes"; ValueType: string; ValueName: ".txt"; ValueData: ""; Flags: uninsdeletekey
Root: HKA; Subkey: "Software\Classes\Applications\{#MyAppExeName}\SupportedTypes"; ValueType: string; ValueName: ".py"; ValueData: ""; Flags: uninsdeletekey
Root: HKA; Subkey: "Software\Classes\Applications\{#MyAppExeName}\SupportedTypes"; ValueType: string; ValueName: ".bat"; ValueData: ""; Flags: uninsdeletekey
Root: HKA; Subkey: "Software\Classes\Applications\{#MyAppExeName}\SupportedTypes"; ValueType: string; ValueName: ".sh"; ValueData: ""; Flags: uninsdeletekey
Root: HKA; Subkey: "Software\Classes\Applications\{#MyAppExeName}\SupportedTypes"; ValueType: string; ValueName: ".pl"; ValueData: ""; Flags: uninsdeletekey
Root: HKA; Subkey: "Software\Classes\.txt"; ValueType: string; ValueName: ""; ValueData: "{#MyAppAssocKey}"
Root: HKA; Subkey: "Software\Classes\.py"; ValueType: string; ValueName: ""; ValueData: "{#MyAppAssocKey}"
Root: HKA; Subkey: "Software\Classes\.bat"; ValueType: string; ValueName: ""; ValueData: "{#MyAppAssocKey}"
Root: HKA; Subkey: "Software\Classes\.sh"; ValueType: string; ValueName: ""; ValueData: "{#MyAppAssocKey}"
Root: HKA; Subkey: "Software\Classes\.pl"; ValueType: string; ValueName: ""; ValueData: "{#MyAppAssocKey}"
; 添加右键菜单项
Root: HKCR; Subkey: "*\shell\Edit with JQEdit"; ValueType: string; ValueName: ""; ValueData: "Edit with JQEdit"; Flags: uninsdeletekey
; 添加命令项,使右键菜单项能够执行编辑器程序
Root: HKCR; Subkey: "*\shell\Edit with JQEdit\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#MyAppExeName}"" ""%1"""; Flags: uninsdeletekey
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocExt}\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppAssocKey}"; ValueData: ""; Flags: uninsdeletevalue
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}"; ValueType: string; ValueName: ""; ValueData: "{#MyAppAssocName}"; Flags: uninsdeletekey
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#MyAppExeName},0"
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#MyAppExeName}"" ""%1"""