Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
181 views
in Technique[技术] by (71.8m points)

java - Inno Setup: Extending Windows default apps list

How is it possible to have listed my application on the Windows default apps list?

I have a special Java based video player application with an installer created by Inno Setup. I want my application to be listed on the selectable video players list on Windows 10 (I also don't know how to do it with older Windows versions).

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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:

  1. Replace HKLM in the first block with HKA;
  2. Replace HKCR with HKA and add the SoftwareClasses prefix to the Subkey in the second block.

Set Default Programs

Set Program Associations


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...