0

    Inno Setup在注册表添加软件的关联文件

    2023.10.27 | admin | 111次围观

    iss脚本的[Registry]添加如下代码:

    [Registry]
    Root: HKCR; Subkey: ".关联文件的后缀"; Flags: uninsdeletekey
    Root: HKCR; Subkey: ".关联文件的后缀"; ValueType: string; ValueName: ""; ValueData: "注册表里软件名称或者描述"
    Root: HKCR; Subkey: "注册表里软件名称或者描述"; Flags: uninsdeletekey
    Root: HKCR; Subkey: "注册表里软件名称或者描述\DefaultIcon"; Flags: uninsdeletekey
    Root: HKCR; Subkey: "注册表里软件名称或者描述\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#AppIconName}"; Flags: 
    Root: HKCR; Subkey: "注册表里软件名称或者描述\shell"; Flags: uninsdeletekey
    Root: HKCR; Subkey: "注册表里软件名称或者描述\shell\open"; Flags: uninsdeletekey
    Root: HKCR; Subkey: "注册表里软件名称或者描述\shell\open\command"; Flags: uninsdeletekey
    Root: HKCR; Subkey: "注册表里软件名称或者描述\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\{#MyAppExeName} ""%1"""; Flags:

    ".关联文件的后缀" 修改为自己的关联文件名后缀

    "注册表里软件名称或者描述" 需要改为自己的软件名称

    还需要再iss脚本顶端添加如下定义

    Inno Setup在注册表添加软件的关联文件

    #define MyAppExeName "软件名称.exe"
    #define AppIconName "文件的图标.ico"

    如果软件不再安装的根目录需要自己修改{app}\{#MyAppExeName}

    同理可能也要修改{app}\{#AppIconName}

    最后一行是在传入的文件路径添加双引号添加软件到注册表,避免文件路径包含空格添加软件到注册表,程序把文件路径分成多个参数

    "{app}\{#MyAppExeName} ""%1"""

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    发表评论