无法使用Inno Setup正确注册我的MWB / SRR文件类型

问题描述 投票:0回答:1

所以我将此添加到了脚本中:

; ==================================================
; Register File Types 32 bit
; Create the application capability key
Root: HKLM; Subkey: "Software\TruckleSoft32"; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "Software\TruckleSoft32\Meeting Schedule Assistant"; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "Software\TruckleSoft32\Meeting Schedule Assistant\Capability"; ValueType: string; ValueName: "ApplicationDescription"; ValueData: "Use Meeting Schedule Assistant to create a variety of assignment schedules."; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\TruckleSoft32\Meeting Schedule Assistant\Capability"; ValueType: string; ValueName: "ApplicationName"; ValueData: "Meeting Schedule Assistant (32 bit)"; Flags: uninsdeletevalue

; List of extensions the application supports
Root: HKLM; Subkey: "Software\TruckleSoft32\Meeting Schedule Assistant\Capability\FileAssociations"; ValueType: string; ValueName: ".mwb"; ValueData: "MeetingScheduleAssistant.MeetingWorkBook32"; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\TruckleSoft32\Meeting Schedule Assistant\Capability\FileAssociations"; ValueType: string; ValueName: ".srr"; ValueData: "MeetingScheduleAssistant.SoundRotaReport32"; Flags: uninsdeletevalue

; Add the capability key to list of registered applications
Root: HKLM; Subkey: "Software\RegisteredApplications"; ValueType: string; ValueName: "Meeting Schedule Assistant (32 bit)"; ValueData: "Software\TruckleSoft32\Meeting Schedule Assistant\Capability"; Flags: uninsdeletevalue

; For each extension that the application supports
Root: HKCR; Subkey: "MeetingScheduleAssistant.MeetingWorkBook32"; Flags: uninsdeletekeyifempty
Root: HKCR; Subkey: "MeetingScheduleAssistant.MeetingWorkBook32"; ValueType: string; ValueName: ""; ValueData: "Meeting Workbook"; Flags: uninsdeletevalue
Root: HKCR; Subkey: "MeetingScheduleAssistant.MeetingWorkBook32\DefaultIcon"; Flags: uninsdeletekeyifempty
Root: HKCR; Subkey: "MeetingScheduleAssistant.MeetingWorkBook32\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\MeetSchedAssist.exe,1"; Flags: uninsdeletevalue
Root: HKCR; Subkey: "MeetingScheduleAssistant.MeetingWorkBook32\Shell"; Flags: uninsdeletekeyifempty
Root: HKCR; Subkey: "MeetingScheduleAssistant.MeetingWorkBook32\Shell\open"; Flags: uninsdeletekeyifempty
Root: HKCR; Subkey: "MeetingScheduleAssistant.MeetingWorkBook32\Shell\open\Command"; Flags: uninsdeletekeyifempty
Root: HKCR; Subkey: "MeetingScheduleAssistant.MeetingWorkBook32\Shell\open\Command"; ValueType: string; ValueName: ""; ValueData: """{app}\MeetSchedAssist.exe"" ""%1"""; Flags: uninsdeletevalue

Root: HKCR; Subkey: "MeetingScheduleAssistant.SoundRotaReport32"; Flags: uninsdeletekeyifempty
Root: HKCR; Subkey: "MeetingScheduleAssistant.SoundRotaReport32"; ValueType: string; ValueName: ""; ValueData: "Sound Rota Report"; Flags: uninsdeletevalue
Root: HKCR; Subkey: "MeetingScheduleAssistant.SoundRotaReport32\DefaultIcon"; Flags: uninsdeletekeyifempty
Root: HKCR; Subkey: "MeetingScheduleAssistant.SoundRotaReport32\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\MeetSchedAssist.exe,1"; Flags: uninsdeletevalue
Root: HKCR; Subkey: "MeetingScheduleAssistant.SoundRotaReport32\Shell"; Flags: uninsdeletekeyifempty
Root: HKCR; Subkey: "MeetingScheduleAssistant.SoundRotaReport32\Shell\open"; Flags: uninsdeletekeyifempty
Root: HKCR; Subkey: "MeetingScheduleAssistant.SoundRotaReport32\Shell\open\Command"; Flags: uninsdeletekeyifempty
Root: HKCR; Subkey: "MeetingScheduleAssistant.SoundRotaReport32\Shell\open\Command"; ValueType: string; ValueName: ""; ValueData: """{app}\MeetSchedAssist.exe"" ""%1"""; Flags: uninsdeletevalue
; ==================================================

; ==================================================
; Register File Types 64 bit
; Create the application capability key
Root: HKLM64; Subkey: "Software\TruckleSoft64"; Flags: uninsdeletekeyifempty
Root: HKLM64; Subkey: "Software\TruckleSoft64\Meeting Schedule Assistant"; Flags: uninsdeletekeyifempty
Root: HKLM64; Subkey: "Software\TruckleSoft64\Meeting Schedule Assistant\Capability"; ValueType: string; ValueName: "ApplicationDescription"; ValueData: "Use Meeting Schedule Assistant to create a variety of assignment schedules."; Flags: uninsdeletevalue; Check: IsWin64
Root: HKLM64; Subkey: "Software\TruckleSoft64\Meeting Schedule Assistant\Capability"; ValueType: string; ValueName: "ApplicationName"; ValueData: "Meeting Schedule Assistant (64 bit)"; Flags: uninsdeletevalue; Check: IsWin64

; List of extensions the application supports
Root: HKLM64; Subkey: "Software\TruckleSoft64\Meeting Schedule Assistant\Capability\FileAssociations"; ValueType: string; ValueName: ".mwb"; ValueData: "MeetingScheduleAssistant.MeetingWorkBook64"; Flags: uninsdeletevalue; Check: IsWin64
Root: HKLM64; Subkey: "Software\TruckleSoft64\Meeting Schedule Assistant\Capability\FileAssociations"; ValueType: string; ValueName: ".srr"; ValueData: "MeetingScheduleAssistant.SoundRotaReport64"; Flags: uninsdeletevalue; Check: IsWin64

; Add the capability key to list of registered applications
Root: HKLM64; Subkey: "Software\RegisteredApplications"; ValueType: string; ValueName: "Meeting Schedule Assistant (64 bit)"; ValueData: "Software\TruckleSoft64\Meeting Schedule Assistant\Capability"; Flags: uninsdeletevalue; Check: IsWin64

; For each extension that the application supports
Root: HKCR; Subkey: "MeetingScheduleAssistant.MeetingWorkBook64"; Flags: uninsdeletekeyifempty; Check: IsWin64
Root: HKCR; Subkey: "MeetingScheduleAssistant.MeetingWorkBook64"; ValueType: string; ValueName: ""; ValueData: "Meeting Workbook"; Flags: uninsdeletevalue; Check: IsWin64
Root: HKCR; Subkey: "MeetingScheduleAssistant.MeetingWorkBook64\DefaultIcon"; Flags: uninsdeletekeyifempty; Check: IsWin64
Root: HKCR; Subkey: "MeetingScheduleAssistant.MeetingWorkBook64\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\MeetSchedAssist_x64.exe,1"; Flags: uninsdeletevalue; Check: IsWin64
Root: HKCR; Subkey: "MeetingScheduleAssistant.MeetingWorkBook64\Shell"; Flags: uninsdeletekeyifempty; Check: IsWin64
Root: HKCR; Subkey: "MeetingScheduleAssistant.MeetingWorkBook64\Shell\open"; Flags: uninsdeletekeyifempty; Check: IsWin64
Root: HKCR; Subkey: "MeetingScheduleAssistant.MeetingWorkBook64\Shell\open\Command"; Flags: uninsdeletekeyifempty; Check: IsWin64
Root: HKCR; Subkey: "MeetingScheduleAssistant.MeetingWorkBook64\Shell\open\Command"; ValueType: string; ValueName: ""; ValueData: """{app}\MeetSchedAssist_x64.exe"" ""%1"""; Flags: uninsdeletevalue; Check: IsWin64

Root: HKCR; Subkey: "MeetingScheduleAssistant.SoundRotaReport64"; Flags: uninsdeletekeyifempty; Check: IsWin64
Root: HKCR; Subkey: "MeetingScheduleAssistant.SoundRotaReport64"; ValueType: string; ValueName: ""; ValueData: "Sound Rota Report"; Flags: uninsdeletevalue; Check: IsWin64
Root: HKCR; Subkey: "MeetingScheduleAssistant.SoundRotaReport64\DefaultIcon"; Flags: uninsdeletekeyifempty; Check: IsWin64
Root: HKCR; Subkey: "MeetingScheduleAssistant.SoundRotaReport64\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\MeetSchedAssist_x64.exe,1"; Flags: uninsdeletevalue; Check: IsWin64
Root: HKCR; Subkey: "MeetingScheduleAssistant.SoundRotaReport64\Shell"; Flags: uninsdeletekeyifempty; Check: IsWin64
Root: HKCR; Subkey: "MeetingScheduleAssistant.SoundRotaReport64\Shell\open"; Flags: uninsdeletekeyifempty; Check: IsWin64
Root: HKCR; Subkey: "MeetingScheduleAssistant.SoundRotaReport64\Shell\open\Command"; Flags: uninsdeletekeyifempty; Check: IsWin64
Root: HKCR; Subkey: "MeetingScheduleAssistant.SoundRotaReport64\Shell\open\Command"; ValueType: string; ValueName: ""; ValueData: """{app}\MeetSchedAssist_x64.exe"" ""%1"""; Flags: uninsdeletevalue; Check: IsWin64
; ==================================================

并且我在changesassociations=yes部分添加了[setup]

但是当我双击MWB文件时,什么也没有用:

enter image description here

我在做什么错?

当我查看here时,我的文件类型未列出。

我不知道this是否相关:

此主题不适用于Windows10。默认文件关联的工作方式在Windows 10中已更改。有关更多信息,请参见this post中有关Windows 10处理默认应用程序的方式的部分。

我在HKCR中仍然需要.mwb和.srr密钥吗?因为我还没有。

更新

我对此仍然感到困惑。如果我转到Windows 10上的“按应用设置默认值”区域,则会显示:

enter image description here

我可能正在做一些引用不正确的事情。如果单击这两个MSA条目中的任何一个,则将显示关联。在这种情况下,它们两者都映射到我的64位应用程序。这是正确的,因为我只有两种文件类型MWB和SRR,我们将它们指向64位应用程序或32位应用程序。但是将两者都列在主应用程序列表中似乎很奇怪。应该命名吗?

然后,如果我尝试“按文件类型选择默认值”,我会看到:

enter image description here

看看我为什么感到困惑?我希望它列出:

  • MSA(32位)
  • MSA(64位)

感谢您提供正确设置这些设置的任何建议。

inno-setup file-association
1个回答
0
投票

我似乎已经启用了它:

; ==================================================
; Register 32 bit Application

; Create the application capability key
Root: HKLM; Subkey: "Software\TruckleSoft32"; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "Software\TruckleSoft32\MeetSchedAssist"; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "Software\TruckleSoft32\MeetSchedAssist\Capability"; ValueType: string; ValueName: "ApplicationDescription"; ValueData: "Use Meeting Schedule Assistant to create a variety of assignment schedules."; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\TruckleSoft32\MeetSchedAssist\Capability"; ValueType: string; ValueName: "ApplicationName"; ValueData: "Meeting Schedule Assistant (32 bit)"; Flags: uninsdeletevalue

; List of extensions the application supports
Root: HKLM; Subkey: "Software\TruckleSoft32\MeetSchedAssist\Capability\FileAssociations"; ValueType: string; ValueName: ".mwb"; ValueData: "MeetSchedAssist.MWB"; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\TruckleSoft32\MeetSchedAssist\Capability\FileAssociations"; ValueType: string; ValueName: ".srr"; ValueData: "MeetSchedAssist.SRR"; Flags: uninsdeletevalue

; Add the capability key to list of registered applications
Root: HKLM; Subkey: "Software\RegisteredApplications"; ValueType: string; ValueName: "Meeting Schedule Assistant (32 bit)"; ValueData: "Software\TruckleSoft32\MeetSchedAssist\Capability"; Flags: uninsdeletevalue
; ==================================================
; Register 62 bit Application

; Create the application capability key
Root: HKLM; Subkey: "Software\TruckleSoft64"; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "Software\TruckleSoft64\MeetSchedAssist"; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "Software\TruckleSoft64\MeetSchedAssist\Capability"; ValueType: string; ValueName: "ApplicationDescription"; ValueData: "Use Meeting Schedule Assistant to create a variety of assignment schedules."; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\TruckleSoft64\MeetSchedAssist\Capability"; ValueType: string; ValueName: "ApplicationName"; ValueData: "Meeting Schedule Assistant (64 bit)"; Flags: uninsdeletevalue

; List of extensions the application supports
Root: HKLM; Subkey: "Software\TruckleSoft64\MeetSchedAssist\Capability\FileAssociations"; ValueType: string; ValueName: ".mwb"; ValueData: "MeetSchedAssist.MWB"; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\TruckleSoft64\MeetSchedAssist\Capability\FileAssociations"; ValueType: string; ValueName: ".srr"; ValueData: "MeetSchedAssist.SRR"; Flags: uninsdeletevalue

; Add the capability key to list of registered applications
Root: HKLM; Subkey: "Software\RegisteredApplications"; ValueType: string; ValueName: "Meeting Schedule Assistant (64 bit)"; ValueData: "Software\TruckleSoft64\MeetSchedAssist\Capability"; Flags: uninsdeletevalue
; ==================================================
; Register File Types
Root: HKCR; SubKey: ".mwb"; ValueType: string; ValueData: "MeetSchedAssist.MWB"; Flags: uninsdeletekey
Root: HKCR; SubKey: ".srr"; ValueType: string; ValueData: "MeetSchedAssist.SRR"; Flags: uninsdeletekey
Root: HKCR; Subkey: "MeetSchedAssist.MWB"; ValueType: string; ValueData: "Meeting Workbook Schedule"; Flags: uninsdeletekey
Root: HKCR; Subkey: "MeetSchedAssist.SRR"; ValueType: string; ValueData: "Sound Rota 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
; ==================================================

它不见了:

Root: HKCR; SubKey: ".mwb"; ValueType: string; ValueData: "MeetSchedAssist.MWB"; Flags: uninsdeletekey
Root: HKCR; SubKey: ".srr"; ValueType: string; ValueData: "MeetSchedAssist.SRR"; Flags: uninsdeletekey
© www.soinside.com 2019 - 2024. All rights reserved.