【发布时间】:2016-07-18 14:54:50
【问题描述】:
如何将我的应用程序列在 Windows 默认应用程序列表中?
我有一个特殊的基于 Java 的视频播放器应用程序,它带有一个由 Inno Setup 创建的安装程序。我希望我的应用程序列在 Windows 10 上的可选视频播放器列表中(我也不知道如何使用旧 Windows 版本)。
【问题讨论】:
标签: java windows installation inno-setup
如何将我的应用程序列在 Windows 默认应用程序列表中?
我有一个特殊的基于 Java 的视频播放器应用程序,它带有一个由 Inno Setup 创建的安装程序。我希望我的应用程序列在 Windows 10 上的可选视频播放器列表中(我也不知道如何使用旧 Windows 版本)。
【问题讨论】:
标签: java windows installation inno-setup
有关一般信息,请参阅:
在 Inno Setup 中,您使用 [Registry] section 实现此功能:
[Registry]
; Create the application capability key
; (The location of the key does not matter)
Root: HKLM; Subkey: "Software\My Company"; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "Software\My Company\My Program"; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "Software\My Company\My Program\Capability"; \
ValueType: string; ValueName: "ApplicationDescription"; \
ValueData: "This is My Program that does stuff"; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\My Company\My Program\Capability"; \
ValueType: string; ValueName: "ApplicationName"; ValueData: "My Program"; \
Flags: uninsdeletevalue
; List of extensions the application supports
Root: HKLM; \
Subkey: "Software\My Company\My Program\Capability\FileAssociations"; \
ValueType: string; ValueName: ".jpg"; ValueData: "MyProgram.JPEG"; \
Flags: uninsdeletevalue
; Add the capability key to list of registered applications
Root: HKLM; Subkey: "Software\RegisteredApplications"; \
ValueType: string; ValueName: "My Program"; \
ValueData: "Software\My Company\My Program\Capability"; \
Flags: uninsdeletevalue
; For each extension that the application supports
Root: HKCR; Subkey: "MyProgram.JPEG"; Flags: uninsdeletekeyifempty
Root: HKCR; Subkey: "MyProgram.JPEG"; \
ValueType: string; ValueName: ""; ValueData: "MyProgram JPEG"; \
Flags: uninsdeletevalue
Root: HKCR; Subkey: "MyProgram.JPEG\DefaultIcon"; Flags: uninsdeletekeyifempty
Root: HKCR; Subkey: "MyProgram.JPEG\DefaultIcon"; \
ValueType: string; ValueName: ""; ValueData: "{app}\MyProg.exe,1"; \
Flags: uninsdeletevalue
Root: HKCR; Subkey: "MyProgram.JPEG\Shell"; Flags: uninsdeletekeyifempty
Root: HKCR; Subkey: "MyProgram.JPEG\Shell\open"; Flags: uninsdeletekeyifempty
Root: HKCR; Subkey: "MyProgram.JPEG\Shell\open\Command"; \
Flags: uninsdeletekeyifempty
Root: HKCR; Subkey: "MyProgram.JPEG\Shell\open\Command"; \
ValueType: string; ValueName: ""; ValueData: """{app}\MyProg.exe"" ""%1"""; \
Flags: uninsdeletevalue
在 Inno Setup 6 中,你应该修改代码如下支持non-administrative install mode:
HKLM 替换为HKA;HKCR 替换为HKA,并将Software\Classes\ 前缀添加到第二个块中的Subkey。【讨论】: