簡體   English   中英

從代碼啟動卸載程序

[英]Starting an uninstaller from code

我想在我的程序中添加一個“卸載”按鈕,它將啟動卸載程序以刪除程序,然后立即退出。 什么是a)確定是否存在卸載程序的最佳方法,以及b)找到正確的卸載程序並啟動它?

我可以以可靠的方式使用注冊表嗎? 我記得之前使用注冊表來修復一些破壞的安裝,並且認為我可以迭代條目並確定適當的條目,但我擔心使用注冊表可能不可靠和/或在所有系統上工作?

另一個想法是我實際上可以在安裝過程中將卸載信息存儲到注冊表中,然后使用該信息以某種方式找到正確的卸載程序。 這似乎是最可靠的方法,但有沒有我可以存儲的標識符,然后我可以傳回Windows Installer?

由於您使用Windows安裝程序進行了此操作,我將假設您使用MSI分發應用程序。 也就是說,您可以從應用程序中調用msiexec / x {ProductCode}來初始化卸載。 您可以通過讓安裝程序寫入應用程序可以讀取的注冊表項/值來獲取產品代碼,也可以在應用程序中對其進行硬編碼或升級代碼。 如果您對UpgradeCode進行硬編碼,則必須調用Windows Installer API以找出該UpgradeCode的已安裝ProductCode。

暫無
暫無

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

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