For generic information, see:
In Inno Setup, you implement this using [Registry]
section:
[Registry]
; Create the application capability key
; (The location of the key does not matter)
Root: HKLM; Subkey: "SoftwareMy Company"; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "SoftwareMy CompanyMy Program"; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "SoftwareMy CompanyMy ProgramCapability";
ValueType: string; ValueName: "ApplicationDescription";
ValueData: "This is My Program that does stuff"; Flags: uninsdeletevalue
Root: HKLM; Subkey: "SoftwareMy CompanyMy ProgramCapability";
ValueType: string; ValueName: "ApplicationName"; ValueData: "My Program";
Flags: uninsdeletevalue
; List of extensions the application supports
Root: HKLM;
Subkey: "SoftwareMy CompanyMy ProgramCapabilityFileAssociations";
ValueType: string; ValueName: ".jpg"; ValueData: "MyProgram.JPEG";
Flags: uninsdeletevalue
; Add the capability key to list of registered applications
Root: HKLM; Subkey: "SoftwareRegisteredApplications";
ValueType: string; ValueName: "My Program";
ValueData: "SoftwareMy CompanyMy ProgramCapability";
Flags: uninsdeletevalue
; For each extension that the application supports
Root: HKCR; Subkey: "MyProgram.JPEG"; Flags: uninsdeletekeyifempty
Root: HKCR; Subkey: "MyProgram.JPEG";
ValueType: string; ValueName: ""; ValueData: "MyProgram JPEG";
Flags: uninsdeletevalue
Root: HKCR; Subkey: "MyProgram.JPEGDefaultIcon"; Flags: uninsdeletekeyifempty
Root: HKCR; Subkey: "MyProgram.JPEGDefaultIcon";
ValueType: string; ValueName: ""; ValueData: "{app}MyProg.exe,1";
Flags: uninsdeletevalue
Root: HKCR; Subkey: "MyProgram.JPEGShell"; Flags: uninsdeletekeyifempty
Root: HKCR; Subkey: "MyProgram.JPEGShellopen"; Flags: uninsdeletekeyifempty
Root: HKCR; Subkey: "MyProgram.JPEGShellopenCommand";
Flags: uninsdeletekeyifempty
Root: HKCR; Subkey: "MyProgram.JPEGShellopenCommand";
ValueType: string; ValueName: ""; ValueData: """{app}MyProg.exe"" ""%1""";
Flags: uninsdeletevalue
In Inno Setup 6, you should modify the code as follows to support non-administrative install mode:
- Replace
HKLM
in the first block with HKA
;
- Replace
HKCR
with HKA
and add the SoftwareClasses
prefix to the Subkey
in the second block.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…