2013-12-11 38 views
1

這在Windows XP/Windows Server 2003中一直運行正常,但我還沒有能夠在Windows 7/Windows Server 2008 R2中正常工作。在Windows 7中添加條目以「卸載或更改程序」

我也試過把這個放在Wow6432Node,但那也行不通。我也嘗試過這些註冊表項的各種組合,看起來沒有效果。

我已經Google了這個,但我似乎無論如何找不到任何有關這個問題的任何原因。我也找不到有關如何完成此操作的任何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注意這個入口所需的步驟?

回答

1

我已經想通了,而且很明顯。出於某種原因,必須指定一些作爲UninstallString的內容,即使由於「程序」無法卸載而永遠不會執行它。我剛剛使用了%SYSTEMROOT%\system32\calc.exe,因爲它始終存在於我們的系統中。