2009-02-24 74 views
1

我需要創建一個安裝我的應用程序執行以下操作:推薦的.NET應用程序安裝程序?

  1. 複製文件
  2. 寫入註冊表設置
  3. 註冊一個窗口服務
  4. 寫入一個XML app.config文件(基於根據用戶提供的信息安裝 - 連接字符串)
  5. 針對遠程數據庫執行SQL腳本(在#4中獲得連接信息)
  6. 安裝並註冊一個COM DLL
  7. 再添進入控制面板>添加/卸載爲

刪除程序,我不需要任何花哨的邏輯,使用戶可以自定義這些步驟 - 我可以與用戶硬編碼它們提供的信息在適當的地方注入

我看着Wix,但發現文檔和示例與最近發佈的版本不匹配。

我也看過NSIS,但發現支持編寫XML過於有限(plugin因此只能處理高達64字節的字符串)。

我最初沒有在Setup項目中構建VS2005,因爲它無法處理這些任務,但我已經準備好在我認爲是更好的選擇之後重新考慮。

有什麼建議嗎?

回答

2

我仍然會推薦多看一下WiX。我們用它來做所有事情,除了那個清單上的#6以外,還有一個小的學習曲線。我們已經使用了WiX v3近3年,並且我沒有發現太多的地方,文檔/教程太不合適。通常它在哪裏,因爲它們清理了語法並使其更好。另外,從下一版Visual Studio(2010/Rosario)開始,WiX直接構建到Visual Studio中,我不確定是否與當前安裝項目並行或完全替換它們。

+0

如何使用WIX編寫XML文件?有沒有辦法做到這一點,不是黑客? – 2009-02-25 14:10:37

1

Visual Studio Installer項目可以執行您想要的任何自定義代碼;不會明白爲什麼你的任何要求會成爲問題。

+0

看起來這是我必須要做的。感謝您的推動。 – 2009-02-24 21:43:42

0

我已經使用Visual Studio(2005)和Wise,並可以推薦這兩種。你沒有提到該工具是否必須是免費的,如果是這樣的話,那就排除了Wise。儘管如此,Wise的學習曲線卻非常簡單,功能強大且有據可查。在Visual Studio中,我遇到了一些奇怪的事情。有一次,我不得不刪除我的項目並重新開始(可能是由於我的愚蠢 - 從來沒有想到它),但總體而言,我在目前的工作中使用了它幾年,並且對我很有用。

0

您可以只使用Visual Studio和Windows而無需商業工具來實現您所需的功能。

首先,檢查answer以創建一個安裝程序文件。

然後,您可以研究如何創建一個可以執行註冊表,讀/寫文件和單獨註冊COM dll的自定義操作類。