2011-03-30 36 views
1

我想構建一個安裝程序或類似的東西(1個文件),以將單個文件傳遞到目標系統。應用程序插件,可安裝到用戶AppData文件夾。面向Windows的安裝程序部署一個文件

經過一番研究,我還不確定在哪個方向看。我可以使用Visual Studio 2010創建安裝項目,但到目前爲止,所有選項似乎太重或存在一些缺陷。

SetupProject固執地想要創建一個我不需要的應用程序文件夾,並且抱怨安裝到用戶文件夾。駕駛室似乎不提供自動安裝,oneclick不適用於該項目等。

是否有更簡單的安裝技術可以使用?

要求:

  • 安裝 - >複製文件1到文件夾 下%USERPROFILE%\ 3rdpartyapp \如果 它存在(XCOPY)。
  • 卸載 - >刪除文件,還有 一個文件夾與自定義設置 (rmdir \ s)。
  • 配送 - >免費爲商業 使用。

也許我應該只打包在自解壓C++ exe文件?

+0

您將在卸載時遇到一個問題,那就是用戶自定義設置刪除文件夾。安裝人員通常不會刪除他們沒有安裝的任何東西(因爲用戶在刪除他們的個人數據或文檔時會打勾,而且您無法知道他們在文件夾中創建了什麼內容)。所以刪除文件夾如果在刪除安裝程序創建的內容後不是空的,通常是不允許的。 – 2011-03-30 15:42:18

+0

該文件夾由3rdpartyapp代表我的插件創建。 – Coder 2011-03-30 15:46:57

回答

2

這可能是矯枉過正的一個文件,但我喜歡InnoSetup創建安裝程序包。看看它,看看它是否適合你。這是非常容易使用和部署。

1

我認爲任何設置技術對於一個文件來說太重了。我會創建一個簡單的應用程序,從其資源流中提取文件並將其複製到%userprofile%\ 3rdpartyapp。

卸載比較棘手:應該有一些能夠處理卸載過程的東西。它可能是批處理或腳本(js,vbs)文件存儲在用戶配置文件中的某個地方,另一個簡單的應用程序或同一個文件。 (安裝過程也可以用腳本處理。)

2

看一看WiX toolset。它允許創建基於MSI的安裝程序,安裝程序可能非常簡單:

  1. 搜索%userprofile%\ 3rdpartyapp;
  2. 將文件複製到它,如果它存在;
  3. 失敗安裝或者可能創建它,如果它不存在。

卸載將非常簡單:它需要刪除已安裝的文件。要刪除3rdpartyapp的子文件夾,您可以使用RemoveFolderEx元素。

MSI使用「添加/刪除程序」控制面板註冊安裝的應用程序。卸載由Windows Installer服務處理,因此您不需要複製任何其他文件或程序來支持卸載。

相關問題