簡體   English   中英

如何在卸載MSI時刪除單個注冊表值?

[英]How to remove a single registry VALUE at uninstall of an MSI?

我的應用程序有時會在執行過程中創建一個特定的注冊表值,即不是在安裝時創建的。 該值在我不想刪除的注冊表項中; 我只想刪除我創建的值。 由於它不是在安裝時創建的,因此在Windows Installer卸載時不會自動刪除。 我可以在MSI中刪除該值(如果存在)嗎?

注冊表表似乎沒有此選項。 這是否意味着我必須編寫自定義動作? 如果是這樣,有人有例子嗎?

我正在使用Wise Windows Installer Edition創建MSI。

也張貼在這里

抱歉,您需要自定義操作。

您確實需要執行自定義操作。

我最終通過在Deferred中的WriteRegistryValues部分之后放置了一個自定義操作來實現了這一點。

.vbs刪除密鑰是這樣的:

const HKLM = &H80000002
strComputer = "."
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\Mozilla\Firefox\Extensions"
strValueName = "myext@myco.com"
oReg.DeleteValue HKLM,strKeyPath,strValueName

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM