Chtěl bych poprosit o radu jak vytvořit funkční asociaci souboru s programem, resp. kde dělám chybu. Mám W10 Pro x64, program je 32-bit.
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "Rozpočet"
#define MyAppVersion "2.0"
#define MyAppPublisher "ITAC"
#define MyAppExeName "Rozpočet.exe"
[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{99A7CB12-112F-43B8-86B3-7A91C2DD043A}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
DefaultDirName={pf}\{#MyAppName}
DisableProgramGroupPage=yes
OutputDir=D:\wxDBA
OutputBaseFilename=rozpocet
Compression=lzma
SolidCompression=yes
ChangesAssociations=yes
[Languages]
Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "assoc_fmbr"; Description: "{cm:AssocFileExtension,{#MyAppName},.fmbr}"
[Files]
Source: "D:\Rozpočet\Rozpočet.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\Rozpočet\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
[Registry]
Root: HKCR; Subkey: ".fbmr"; ValueType: string; ValueName: "" ; ValueData: "{#MyAppName}"; Flags: uninsdeletevalue; Tasks: "assoc_fbmr"
Root: HKCR; Subkey: "{#MyAppName}"; ValueType: string; ValueName: "" ; ValueData: "Program {#MyAppName}"; Flags: uninsdeletekey; Tasks: "assoc_fbmr"
Root: HKCR; Subkey: "{#MyAppName}\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#MyAppExeName},0";
Root: HKCR; Subkey: "{#MyAppName}\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#MyAppExeName}"" ""%1"""
Výsledkem je, že výstupní soubor AE.FBM vykopne okno:
Unespected parameter 'D:\AE.FBM'
a následně druhé:
Usage: Rozpočet 2.0[/h][--verbose]
/h, --help show this help message
--verbose generate verbose log messages
Nemáte někdo prosím potuchy jaké parametry mi chybí, nebo co mám blbě? Výstupní soubor je přejmenovaná databáze FB embedeed 2.5.2, ale když jsem provedl pokusně výstupní soubor v XML (přejmenoval a asocioval), choval se úplně stejně - po 2-kliknutí na ikonu vypsal identická okna (s jiným názvem souboru, samozřejmě). Někde jsem se dočetl, že se nemá používat HKCR, ale HKCU nebo HKLM - nevím ale jak.