關於cab包解除安裝時將所有檔案刪除的方法

2021-05-23 00:40:59 字數 1032 閱讀 8229

做wince或是mobile開發,最終的檔案會打包成乙個cab包,當別人解除安裝我們的軟體然後進行重灌後,我們是希望最好連程式生成的配置檔案也一併刪除,否則重新安裝的話會使用到以前的配置檔案,有時這是我們不願看到並且必須要處理的。

本文介紹的方法是如何利用系統本身的機制,通過乙個動態庫setup.dll以實現在解除安裝時刪除安裝目錄中所有檔案的功能。

首先需要生成乙個setup.dll,此動態庫中應包含這樣的函式

codeuninstall_init

uninstall_init(

hwnd        hwndparent,

lpctstr     pszinstalldir

) 用以在解除安裝時進行檔案刪除的工作。

另外還有乙個函式,也是在解除安裝之後可呼叫的,但由於引數中並沒有帶上路徑,因此暫時未用,函式原型如下:

codeuninstall_exit

uninstall_exit(

hwnd    hwndparent

) 好,首先需要實現乙個deletedir的函式,然後用uninstall_init呼叫deletedir即可。

**如下:

bool deletedir(tchar * path)

if((finddata.dwfileattributes & file_attribute_directory)==0)

deletefile(pdir);

else

deletedir(pdir);

delete pdir;

}while(findnextfile(hfind,&finddata));

if(removedirectory(path))

return true;

else

return false;

}codeuninstall_init

uninstall_init(

hwnd hwndparent,

lpctstr pszinstalldir

)

關於cab包解除安裝時將所有檔案刪除的方法

做wince或是mobile開發,最終的檔案會打包成乙個cab包,當別人解除安裝我們的軟體然後進行重灌後,我們是希望最好連程式生成的配置檔案也一併刪除,否則重新安裝的話會使用到以前的配置檔案,有時這是我們不願看到並且必須要處理的。本文介紹的方法是如何利用系統本身的機制,通過乙個動態庫setup.dl...

VS2005打包時加入解除安裝功能

vs2003打包時加入解除安裝功能 方法一 1.在打包專案中新增檔案msiexec.exe 一般可在c windows system32 下找到 2.在檔案系統檢視中選擇應用程式資料夾,在msiexec.exe上按右鍵,選擇建立快捷方式,重新命名快捷方式為 解除安裝 3.更改此快捷方式的argume...

關於解除安裝Hyper v 時遇到的問題及解決方案

曾經使用過vs2015編寫過幾個簡單的uwp程式,由於使用的時候在虛擬機器上進行的除錯,所以沒有注意啟動了hyper v的虛擬化。最近想要使用安卓模擬器,安裝過程中提示hyper v未關閉,於是出現了這個問題。安卓虛擬機器無法使用,強行啟動造成系統崩潰。通過檢視服務發現hyper v相關的兩個服務會...