我正在使用Inno安装程序,并尝试关联位于Program Files (x86)Windows 7中的程序.我有以下内容:
#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"""
Run Code Online (Sandbox Code Playgroud)
为什么协会不起作用的任何建议?
如何在用户没有管理员/提升权限时以编程方式更改文件关联(Win XP,Vista,7)?关于如何解决这个问题的任何想法?基本上我想保持我的应用程序像现在一样精简(它不需要提升安装和运行的权限).目前我提供了一个GUI界面,用户可以在其中更改文件关联,但如果用户权限有限,那么它所做的只是显示一条消息,表明它无法执行此操作,并向其解释如何激活"运行此程序"作为管理员"框然后重新启动该程序.如果用户拥有权限,那么我只需更改关联.
有一种更好的方法来保持"精简"吗?