我之前讨论过关于文件关联的任务。但是我突然想到了一些事情。
以下是任务定义:
[Tasks]
Name: "register32"; Description: "Meeting Schedule Assistant (32 bit)"; GroupDescription: "{cm:FileAssociations}"; Flags: unchecked exclusive; Check: IsWin64
Name: "register64"; Description: "Meeting Schedule Assistant (64 bit)"; GroupDescription: "{cm:FileAssociations}"; Flags: exclusive; Check: IsWin64
以下是注册表项:
[Registry]
; ==================================================
; Register File Types
Root: "HKCR"; Subkey: ".mwb"; ValueType: string; ValueData: "MeetSchedAssist.MWB"; Flags: uninsdeletevalue
Root: "HKCR"; Subkey: ".srr"; ValueType: string; ValueData: "MeetSchedAssist.SRR"; Flags: uninsdeletevalue
Root: "HKCR"; Subkey: "MeetSchedAssist.MWB"; ValueType: string; ValueData: "Meeting Workbook Schedule"; Flags: uninsdeletekey
Root: "HKCR"; Subkey: "MeetSchedAssist.SRR"; ValueType: string; ValueData: "Assignments Report"; Flags: uninsdeletekey
Root: "HKCR"; Subkey: "MeetSchedAssist.MWBShellOpenCommand"; ValueType: string; ValueData: """{app}{code:GetExecutableToRegister}"" ""%1"""; Flags: uninsdeletekey
Root: "HKCR"; Subkey: "MeetSchedAssist.SRRShellOpenCommand"; ValueType: string; ValueData: """{app}{code:GetExecutableToRegister}"" ""%1"""; Flags: uninsdeletekey
; ==================================================
上述注册表项不应该有Tasks
参数吗?喜欢这个:
Root: "HKCR";
Subkey: ".mwb";
ValueType: string;
ValueData: "MeetSchedAssist.MWB";
Flags: uninsdeletevalue;
Tasks: register32 register64
我只是不确定,因为其中一个任务需要由用户勾选,而不是两个。
不,你不应该把Tasks: register32 register64
放在那里。
您希望始终处理这些Registry
条目,不是吗?
在 32 位系统上,不会处理条目,因为这两个任务都不存在(由于Check: IsWin64
(。
您的任务仅用于选择可执行文件 (GetExecutableToRegister
(,而不是选择是否创建密钥以及创建哪些键。