Я советую вам использовать InnoSetup для этого. Вы можете связать программу с расширением, чтобы добавлять значки и запускать программу, когда пользователи щелкают файл с этим расширением. (например, чтобы открыть файл прямо в программе, как программы msoffice). Когда мы нажимаем на файл Excel, Excel запускается и открывает этот файл. Вы можете легко сделать то же самое с InnoSetup и небольшим кодом в методе main для анализа аргументов.
С Innosetup вы просто добавляете в раздел [Настройка]
ChangesAssociations=yes
А в разделе [Реестр]
Root: HKCR; Subkey: ".mpl"; ValueType: string; ValueName: ""; ValueData: "{#MyAppName}"; Flags: uninsdeletevalue
Root: HKCR; Subkey: "{#MyAppName}"; ValueType: string; ValueName: ""; ValueData: "Program {#MyAppName}"; Flags: uninsdeletekey
Root: HKCR; Subkey: "{#AppName}\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#MyAppExeName},0"
Root: HKCR; Subkey: "{#AppName}\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#MyAppExeName}.EXE"" ""%1"""
Больше информации в этом предыдущем сообщении