Использование параметра Tasks с записями ключей реестра в сценарии Inno Setup - PullRequest
0 голосов
/ 26 мая 2020

Я уже обсуждал эту задачу по поводу ассоциаций файлов. Но что-то пришло мне в голову.

Вот определения задач:

[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.MWB\Shell\Open\Command"; ValueType: string; ValueData: """{app}\{code:GetExecutableToRegister}"" ""%1"""; Flags: uninsdeletekey
Root: "HKCR"; Subkey: "MeetSchedAssist.SRR\Shell\Open\Command"; ValueType: string; ValueData: """{app}\{code:GetExecutableToRegister}"" ""%1"""; Flags: uninsdeletekey
; ==================================================

Не должен ли указанный выше реестр ключи имеют параметр Tasks? Примерно так:

Root: "HKCR"; \
       Subkey: ".mwb"; \
       ValueType: string; \
       ValueData: "MeetSchedAssist.MWB"; \
       Flags: uninsdeletevalue; \
       Tasks: register32 register64

Я просто не уверен, потому что пользователь должен отметить одну из этих задач, а не обе.

1 Ответ

1 голос
/ 26 мая 2020

Нет, вы не должны помещать туда Tasks: register32 register64.

Вы хотите, чтобы эти Registry записи обрабатывались всегда, не так ли?

В 32-битной системе записи будут не обрабатываться, так как ни одна из задач не существует (из-за Check: IsWin64).

Ваши задачи существуют только для выбора исполняемого файла (GetExecutableToRegister), а не для выбора, какие ключи создавать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...