2009-09-18 52 views
3

我有一些我没有代码的EXE。我还可以添加清单文件吗?我可以将清单文件添加到别人的exe文件吗?

另外,根据我的题目的理解,一个程序是Vista的兼容,它不应该写像HKLM,程序文件等

对于注册表,我们可以使用任何HKCU安全的位置,但有关在Program Files中创建的文件?是否应该在执行EXE时在不安全的位置创建?

谢谢

+0

你不需要告诉人们你在帖子中修复了什么。 – GManNickG 2009-09-18 01:27:50

+0

我试图表明他应该说得更准确。 – SLaks 2009-09-18 01:28:30

回答

0

你应该能够创建一个没有源代码的清单文件。

它可以要求安装或更新的管理权限,因此您可以将EXE和DLL(以及支持文件)放入程序文件中。

要求管理权限用于常规使用是不行的,因此您应该将数据文件和设置放入HKCU注册表中或用户的Application Data文件夹中。

+0

有没有任何Windows API直接获取应用程序数据文件夹路径? – coolcake 2009-09-18 03:04:58

+1

对不起,忘了谢谢。所以谢谢!!! – coolcake 2009-09-18 03:05:37

+0

您的应用程序数据文件夹应该由您自己在%appData% – MSalters 2009-09-18 10:31:16

5

您可以使用外部文件添加清单。只需将清单放在exe文件夹中,并将其命名为“file.exe.manifset”,其中file.exe是可执行文件名。但是,在Server 2003,Vista和更高版本(如果程序具有嵌入式清单)中,缺省情况下,外部清单将被忽略。有一个注册表项将覆盖此行为,或者您可以使用Windows SDK工具中的mt.exe替换exe中的清单。有关更多详细信息,请参阅this link

对于试图写入Program Files或HKLM的现有应用程序,它们应该在Vista上工作,因为Vista会将写入重定向到另一个位置,并使应用程序看起来写入成功。

相关问题