Inno Setup的文件关联 [英] inno setup file association

查看:560
本文介绍了Inno Setup的文件关联的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用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的文件关联的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆