向“添加一个条目”;卸载或更改程序“;在Windows7中

向“添加一个条目”;卸载或更改程序“;在Windows7中,windows,registry,Windows,Registry,这在WindowsXP/WindowsServer2003中一直运行良好,但我还没有能够使它在Windows7/WindowsServer2008R2中正常运行 我也试着把它放到Wow6432Node中,但这也不起作用。我还尝试了这些注册表项的各种组合,但似乎没有效果 我在谷歌上搜索过这个问题,但无论出于什么原因,我似乎找不到任何与这个问题相关的东西。我也找不到任何关于如何实现这一点的Microsoft文档 从本质上说,我们有一个非常奇特的Perl脚本,它将安全设置应用于系统,并且需要在“卸载或

这在WindowsXP/WindowsServer2003中一直运行良好,但我还没有能够使它在Windows7/WindowsServer2008R2中正常运行

我也试着把它放到
Wow6432Node
中,但这也不起作用。我还尝试了这些注册表项的各种组合,但似乎没有效果

我在谷歌上搜索过这个问题,但无论出于什么原因,我似乎找不到任何与这个问题相关的东西。我也找不到任何关于如何实现这一点的Microsoft文档

从本质上说,我们有一个非常奇特的Perl脚本,它将安全设置应用于系统,并且需要在“卸载或更改程序”对话框中添加一个条目,以便以后可以对安装进行审核。(实际上,审核脚本在注册表中显示,因此它可以按原样工作,但让对话框窗口也显示它会很有用。)

此条目唯一需要唯一的一点是它不能被卸载或修改

在以前版本的Windows中,这些注册表项完全符合我的预期

下面是我当前设置的注册表值的导出:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MyProgram]
"DisplayName"="MyProgram"
"DisplayVersion"="101.0400.4120.1305141001"
"NoModify"=dword:00000001
"NoRemove"=dword:00000001
"NoRepair"=dword:00000001
"Publisher"="My Company"
"RegOwner"="My Company"
"UninstallString"=""
"VersionMajor"="4"
"VersionMinor"="1"

有没有人想过如何让Windows在卸载对话框中显示此内容?要让Windows注意这个条目,我还缺少其他步骤吗?

我已经找到了答案,这是很明显的。由于某些原因,必须将某个内容指定为
UninstallString
,即使它永远不会执行,因为无法卸载“程序”。我刚刚使用了
%SYSTEMROOT%\system32\calc.exe
,因为它将始终存在于我们的系统中。

我已经解决了这个问题,这是非常明显的。由于某些原因,必须将某个内容指定为
UninstallString
,即使它永远不会执行,因为无法卸载“程序”。我刚刚使用了
%SYSTEMROOT%\system32\calc.exe
,因为它将始终存在于我们的系统中