我正在创建一个应该获取整个.reg文件然后执行它的应用程序。 注册表项由我创建,我的安装程序在win XP,7和8上运行。 但是,如果我将注册表文件标题更改为Windows Registry Editor Version 5.00
在Windows XP上执行失败。每当我将操作系统和标题更改为其他版本时都会发生此错误获取Windows注册表编辑器版本
我的REG文件是这样的:
Windows Registry Editor Version 5.00 //- here is my problem
[HKEY_LOCAL_MACHINE\SOFTWARE\MyApp\myApp]
"DisplayName"="myApp"
[HKEY_LOCAL_MACHINE\SOFTWARE\MyApp2\myFile]
"Directory"="C:\\myFile"
我感兴趣的执行.reg文件只是没Registry.CurrentUser.CreateSubKey
或相似。 它是标准行为还是我错过了某些东西? 有没有办法从C#代码中检索Windows注册表编辑器的版本?
我在上面的例子中使用Windows 7。 任何帮助将不胜感激。
XP的问题需要心理调试。版本5.00是Windows 2000的版本号,因此不太可能成为问题。 .reg文件的文本编码可能很重要,具有该头文件的.reg文件始终是utf-16。如果你用Visual Studio编辑它,它将是utf-8。文件+另存为,单击保存按钮上的箭头更改编码。列表中第三个(1200)。请大家帮忙,停止支持XP。 – 2014-09-26 20:47:50
注册表编辑器版本取决于windows版本。我认为最好的解决方案是获取Windows版本并通过自己计算注册表编辑器版本。您可以使用“System.OperatingSystem os = System.Environment.OSVersion;”获取Windows版本。 – Astro 2014-09-28 07:44:26