我认为这是一个非常奇怪的问题,但无论如何......
我创建了两个 C# 应用程序,himgr.exe
并且cimgr.exe
. 它们与 Inno Setup 一起安装,并复制到C:\Program Files [(x86)]\Imgr Suite
.
它们已通过上下文菜单条目完成使用explorer.exe
,因此我将安装程序配置为在注册表中创建一些键:
[Registry]
Root: HKLM; Subkey: "SOFTWARE\classes\jpegfile\shell\Halve size"; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\classes\jpegfile\shell\Halve size\command"; ValueType: string; ValueName: ""; ValueData: """{app}\himgr.exe"" ""%1"""
Root: HKLM; Subkey: "SOFTWARE\classes\pngfile\shell\Halve size"; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\classes\pngfile\shell\Halve size\command"; ValueType: string; ValueName: ""; ValueData: """{app}\himgr.exe"" ""%1"""
Root: HKLM; Subkey: "SOFTWARE\classes\giffile\shell\Halve size"; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\classes\giffile\shell\Halve size\command"; ValueType: string; ValueName: ""; ValueData: """{app}\himgr.exe"" ""%1"""
Root: HKLM; Subkey: "SOFTWARE\classes\jpegfile\shell\Resize to custom size"; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\classes\jpegfile\shell\Resize to custom size\command"; ValueType: string; ValueName: ""; ValueData: """{app}\cimgr.exe"" ""%1"""
Root: HKLM; Subkey: "SOFTWARE\classes\pngfile\shell\Resize to custom size"; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\classes\pngfile\shell\Resize to custom size\command"; ValueType: string; ValueName: ""; ValueData: """{app}\cimgr.exe"" ""%1"""
Root: HKLM; Subkey: "SOFTWARE\classes\giffile\shell\Resize to custom size"; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\classes\giffile\shell\Resize to custom size\command"; ValueType: string; ValueName: ""; ValueData: """{app}\cimgr.exe"" ""%1"""
完整的安装脚本在这里。
注意:我也尝试过HKCR\jpegfile
等,它对我有用,但是......
既不使用上面的脚本 (using HKLM
) 也不使用 with HKCR
,对于某些人来说它不起作用。6 人中有 4 人尝试过它没有任何问题,并且按预期工作,但有 2 人没有。
这些条目位于注册表中,但没有上下文菜单条目。
对于其中一位测试人员,该键的“使用 GIMP 编辑”条目jpegfile
虽然存在于注册表中,但也未显示在上下文菜单中。此外,对于同一个测试人员,上下文菜单的预览条目显示了两次。
在这个线程中,您可以获得有关程序本身和测试的更多信息。此处提供了包含编译安装程序所需的所有文件的 RAR 文件。
这真的让我担心,我们找不到任何解释为什么它不起作用。