File association in Inno Setup

后端 未结 4 1275
挽巷
挽巷 2020-12-04 23:01

I am using Inno Setup and am trying to associate a program that is located in the Program Files (x86) in Windows 7. I have the following:

#defin         


        
4条回答
  •  难免孤独
    2020-12-04 23:32

    Creating file associations has been answered on SO before. But the core documentation refers to it:

    http://www.jrsoftware.org/isfaq.php#assoc

    Creating File Associations

    First set the [Setup] section directive ChangesAssociations to yes. Then create [Registry] entries as shown below.

    [Registry]
    Root: HKCR; Subkey: ".myp"; ValueType: string; ValueName: ""; ValueData: "MyProgramFile"; Flags: uninsdeletevalue
    

    .myp is the extension we're associating. MyProgramFile is the internal name for the file type as stored in the registry. Make sure you use a unique name for this so you don't inadvertently overwrite another application's registry key.

    Root: HKCR; Subkey: "MyProgramFile"; ValueType: string; ValueName: ""; ValueData: "My Program File"; Flags: uninsdeletekey
    

    My Program File above is the name for the file type as shown in Explorer.

    Root: HKCR; Subkey: "MyProgramFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\MYPROG.EXE,0"
    

    DefaultIcon is the registry key that specifies the filename containing the icon to associate with the file type. ,0 tells Explorer to use the first icon from MYPROG.EXE. (,1 would mean the second icon.)

    Root: HKCR; Subkey: "MyProgramFile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\MYPROG.EXE"" ""%1"""
    

    shell\open\command is the registry key that specifies the program to execute when a file of the type is double-clicked in Explorer. The surrounding quotes are in the command line so it handles long filenames correctly.

提交回复
热议问题