我目前使用Delphi 7编写的Delphi .CPL需要更新HKLM中的设置(供服务应用程序使用),并且必须支持Vista,Win7和Server 2008.目前可以通过添加RUNASADMIN来完成值为AppCompatFlags / Layers,使用CPL文件作为值名称。这会导致Windows要求提升“旧版控制面板小程序”。
我需要找到一种在Delphi 2010中构建CPL的方法,而不会显得“遗留”,如果可能的话,不需要注册表设置或提升。将常用清单资源添加到引用Common-Controls v6和“requireAdministrator”的DLL / CPL不能解决问题:不请求提升且HKLM访问失败。通过导航到SYSWOW64中的文件,右键单击并以“管理员”身份运行,可以使原始版本和Delphi 2010 .CPL正常运行(提升后)。
后来:我发现了一个简明的解释,说明为什么你不能在发布here的论坛中以这种方式提升DLL。