问题描述
我使用Inno Setup的,我试图将位于程序关联的程序文件(x86)的在Windows 7我有以下几点:
I am using Inno Setup and am trying to associate a program that is located in the Program Files (x86) in Windows 7. I have the following:
#define MyAppName "MyView"
#define MyAppExeName "MyView.exe"
[Setup]
AppName={#MyAppName}
[Registry]
Root: HKCR; Subkey: ".mpl"; ValueType: string; ValueName: ""; ValueData: "MyView"; Flags: uninsdeletevalue
Root: HKCR; Subkey: "MyView"; ValueType: string; ValueName: ""; ValueData: "MyView"; Flags: uninsdeletekey
Root: HKCR; Subkey: "MyView\delta.ico"; ValueType: string; ValueName: ""; ValueData: "{app}\GeoView.EXE,0"
Root: HKCR; Subkey: "MyView\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\MYVIEW.EXE"" ""%1"""
为什么联想不工作有什么建议?
Any suggestions for why the association is not working?
推荐答案
如果你想一个程序与扩展关联的只是在你的ISS文件中添加指令:
If you want to associate a program with an extension just add this instruction in your iss file :
在栏目
[Setup]
ChangesAssociations = yes
^ - 设置将告诉浏览器在安装结束时刷新其文件关联信息,并且卸载将做同样在卸载结束
^-Setup will tell Explorer to refresh its file associations information at the end of the installation, and Uninstall will do the same at the end of uninstallation.
和部分中的
[Registry]
Root: HKCR; Subkey: ".mpl"; ValueData: "{#MyAppName}"; Flags: uninsdeletevalue; ValueType: string; ValueName: ""
Root: HKCR; Subkey: "{#MyAppName}"; ValueData: "Program {#MyAppName}"; Flags: uninsdeletekey; ValueType: string; ValueName: ""
Root: HKCR; Subkey: "{#MyAppName}\DefaultIcon"; ValueData: "{app}\{#MyAppExeName},0"; ValueType: string; ValueName: ""
Root: HKCR; Subkey: "{#MyAppName}\shell\open\command"; ValueData: """{app}\{#MyAppExeName}"" ""%1"""; ValueType: string; ValueName: ""
说明
根:HKCR;子项:.magi ValueData:MyMAGIApplication值类型:字符串; ValueName的:;标志:uninsdeletevalue
。该指令在HKEY_CLASSES_ROOT(HKCR)加.magi键在注册表中,用更准确。在该指令我们也有 ValueName的=
,因此得到在注册表中的默认值。
Explanations
Root: HKCR; Subkey: ".magi"; ValueData: "MyMAGIApplication"; ValueType: string; ValueName: ""; Flags: uninsdeletevalue
. This instruction add ".magi" key in the registry, with more accurate in HKEY_CLASSES_ROOT (HKCR). In this instruction we also have ValueName=""
so it get the default value in the registry.
根:HKCR;子项:MyMAGIApplication ValueData:程序MAGI值类型:字符串; ValueName的:;标志:uninsdeletekey
为了值为计划MAGI添加键 MyMAGIApplication
在HKCR
Root: HKCR; Subkey: "MyMAGIApplication"; ValueData: "Program MAGI"; ValueType: string; ValueName: ""; Flags: uninsdeletekey
In order to add the key MyMAGIApplication
in HKCR with the value "Program MAGI".
根:HKCR;子项:MyMAGIApplication \\的DefaultIcon ValueData:{应用} \\ MAGI.EXE,0;值类型:字符串; ValueName的:
为了一个图标关联包含在可执行文件。 0表示,它是在可执行MAGI.EXE的第一个图标present。
Root: HKCR; Subkey: "MyMAGIApplication\DefaultIcon"; ValueData: "{app}\MAGI.EXE,0"; ValueType: string; ValueName: ""
In order to associate an icon contains in the executable. "0" indicates that it's the first icon present in the executable MAGI.EXE.
根:HKCR;子项:MyMAGIApplication \\壳\\开放\\命令; ValueData:{}应用程序\\ MAGI.EXE%1值类型:字符串; ValueName的:
为了添加该子项的shell \\打开\\命令。该指令,Windows不能启动应用程序MAGI.EXE当用户点击扩展名为.magi的文件。
Root: HKCR; Subkey: "MyMAGIApplication\shell\open\command"; ValueData: """{app}\MAGI.EXE"" ""%1"""; ValueType: string; ValueName: ""
In order to add the subkey shell\open\command. With this instruction, Windows is able to launch application MAGI.EXE when an user click on a file with extension ".magi".
和结果在注册表中:
这篇关于Inno Setup的文件关联的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!