做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相關的兩個服務會...