我觉得这是一个很奇怪的问题,但无论如何...注册表项编写的,但没有上下文菜单项
我已经创建了两个C#应用程序,himgr.exe
和cimgr.exe
。它们与Inno Setup一起安装,并复制到C:\Program Files [(x86)]\Imgr Suite
。
他们就完成了,通过在explorer.exe
上下文菜单项中使用,所以我配置了installator在注册表中创建几个键:
[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"""
完全安装脚本here。
注意:我也尝试过HKCR\jpegfile
等,它为我工作,但...
无论使用以上(使用HKLM
),也不与HKCR
,对一些人来说这是行不通的脚本。 6人中有4人曾尝试过,但没有发现任何问题,并且按照预期工作,但是对于2人而言,它没有发生任何问题。
这些条目在注册表中,但没有上下文菜单条目。
对于测试人员之一,编辑与jpegfile
关键的GIMP项目,尽管存在于注册表,在右键菜单中没有显示任何。此外,对于相同的测试仪,上下文菜单的Preview条目显示为两次。
In this thread你有关于程序本身和测试的更多信息。包含编译安装程序所需的所有文件的RAR文件可用here。
这真的令我担心,我们无法找到解释为什么它不起作用。
最有可能的是,没有工作的人拥有与“giffile”或“jpegfile”不同的ProgId关联的.gif和/或.jpg。 – Miral
哦谢谢!我怎样才能使用Inno Setup将密钥添加到正确的ProgId中? –
问题可能是由于权限造成的。您需要管理员权限才能在HKCR和HKLM中创建密钥 –