我在客戶端安裝c#windows應用程序。在應用程序中,我需要一個連接字符串。如何在安裝時進行配置。另外我想用我的應用程序安裝程序打包sql express安裝程序和.Net Framework安裝程序。這可能嗎?如何在安裝時指定sql server的connectionstring
回答
如果您使用Visual Studio安裝程序,則可以將自定義頁面添加到安裝程序並添加處理該自定義頁面結果的自定義操作。例如,在VS2010專業:
- 創建一個Visual Studio安裝安裝項目
- 項目輸出添加到安裝程序,添加快捷方式和其他方式配置安裝到自己的喜好。 (即現在假設它不會爲您配置連接字符串,並按您的要求配置其他所有配置。現在提交您選擇的源代碼控制,以便您在遇到問題時再次嘗試)
- 右鍵單擊解決方案資源管理器中的安裝項目,然後選擇視圖>用戶界面
- 右鍵單擊「開始」(在步驟3的結果中出現的「用戶界面」窗口中)並選擇「添加對話框」
- 選擇「文本框(A)」,「文本框(B)」或「文本框(C)」中的一個,然後單擊確定(據我所知,選擇哪種A/B/C無關緊要)。在「用戶界面」窗口
- 點擊「文本框(A)」,並將其拖到了上述「確認安裝」,因爲你可能想在連接字符串對話框出現之前了「我們準備安裝,你確定「窗口。
- 上的「文本框(A)」單擊鼠標右鍵,選擇「屬性窗口」
- 自定義屬性(他們會出現在下面坐/旁邊的解決方案資源管理器的「屬性」選項卡:
- 集Edit2Visible,Edit3Visible和Edit4Visible假
- Edit1Label到「連接字符串:」(或您選擇的措辭)
- Edit1Property爲「SQL_CONNECTION_STRING」(或您選擇的名稱 - 這是名稱自定義操作將參考)
- 構建並運行安裝程序以確保它仍然正確安裝。
您需要做的下一件事是編寫一個自定義操作來將連接字符串存儲到app.config文件中。問題Setup App.Config As Custom Action in Setup Project涵蓋了它,所以我會留給你閱讀並利用它。
據我所知沒有辦法嵌入一個Visual Studio安裝裏面的依賴關係,但我建議hiving它作爲一個問題,你真的在你的問題問題=)
對不起,但你介意給我一個更好的鏈接第二部分。如何?\在哪裏?我寫代碼掛鉤到你添加的「用戶界面」上。 – Seabizkit
Rob的回答非常有用,可以幫助您獲得2/3的方式。我只是花了一些時間找到我的方式的方式,最終的1/3,所以我希望這篇文章可以幫助你找到答案的速度比我做的事:
這MSDN文章可以幫助解釋瞭如何創建一個自定義操作: https://msdn.microsoft.com/en-us/library/d9k65z2d(v=vs.100).aspx
爲了將其結合在一起,爲MSDN文章中所述,一旦你創建的自定義操作項目,則需要將其添加爲一個行動部署項目:
右對齊點擊您的部署項目並選擇查看 - >自定義操作
右鍵單擊安裝並添加自定義操作
- 雙擊應用程序文件夾
- 點擊Add Output,並選擇您的自定義操作項目輸出
- 上提交併重複(右鍵單擊「添加自定義行動「,選擇您的自定義行動項目的輸出)。如果需要,請重複回滾和卸載。
要鏈接的安裝嚮導,你的代碼輸入的數據: 對於上述定義的每個自定義操作(安裝文件夾下,文件夾提交等),選擇自定義操作項目。在「屬性」窗口中填充CustomActionData。例如,我在我的用戶界面中指定了一些文本框字段,使其具有Edit1Property和Edit2Property值CONFIGURATION_SERVER和DATABASE_NAME。爲了讓他們提供給我的自定義操作代碼,我CustomActionData設置爲: /cfgServer = [CONFIGURATION_SERVER]/DBNAME = [DATABASE_NAME]
然後,在我的代碼,我可以參考獲取值: 上下文.Parameters [「cfgServer」] 或 Context.Parameters [「dbName」] (均返回包含用戶輸入內容的字符串)。
我的代碼在安裝過程中運行,並且我編寫了一個方法來修改存儲應用程序設置的.CONFIG文件以使用用戶指定的值。
Robs的答案是正確的,那麼你必須將自定義操作數據傳遞給自定義操作的主要輸出。這是安裝程序的一部分。現在在安裝程序類中重寫安裝程序類的BeforeInstall方法。然後獲取通過GetExecutingAssembly()方法執行文件的位置。獲得正在執行的彙編後,您需要application.exe.config文件通過File.ReadAllText讀取此文件,並使用字符串替換方法更改連接字符串參數,但必須添加唯一您的默認連接字符串中的佔位符用於替換此佔位符。然後再次使用File.WriteAllText方法寫入此文件。這將在安裝時成功更改您的連接字符串,並且您的應用程序將以此運行。
- 1. SQL Server的ConnectionString
- 2. 如何在現有的SQL Server Express安裝上安裝SQL Server Reporting Services(SSRS)?
- 3. SQL Server ConnectionString錯誤
- 4. SQL Server配置安裝時
- 5. 的connectionString爲SQL Server 2008 R2
- 6. 如果安裝了SQL Server 2008,請安裝SQL Server 2005
- 7. 爲什麼在安裝SQL Server 2008 R2時安裝visual studio 2008和SQL Server 2008?
- 8. 如何在InstallShield安裝期間安裝Sql server 2008
- 9. SQL Server Express安裝
- 10. SQL Server 2012安裝
- 11. 安裝SQL Server 2008
- 12. 在安裝應用程序時安裝MS SQL Server 2012
- 13. 如何確定在SQL Server上安裝了哪個Service Pack?
- 14. 如何在安裝時使用SQL Server 2008數據庫項目
- 15. 如何在安裝2008 r2時測試Sql server 2005查詢
- 16. 在Windows 2000 Server上安裝SQL Server 2005
- 17. 安裝SQL Server 2005後安裝SQL Server 2005 Reporting Services
- 18. 如何在指定位置安裝Qt?
- 19. 如何在web.config中指定configsource時爲SqlDataSource設置ConnectionString
- 20. 如何使用Inno安裝程序安裝SQL Server 2008 Express?
- 21. 如果已安裝SQL Server,是否需要安裝SQL Express?
- 22. 如何知道SQL Server 2005 express的安裝完成時間
- 23. 安裝SQL Server Express 2008 R2時出錯
- 24. 如何使用預先存在的SQL Server 2008安裝SQL Server 2005 Express
- 25. 當安裝Express時安裝SQL Server 2008 R2 Standard/Enterprise
- 26. 在Windows Server 2008(x64)上安裝SQL Server 2000時出錯(x64)
- 27. 的SQL Server 2012安裝在Windows 8.1
- 28. ConnectionString問題 - Windows 2008上的SQL Server 2008
- 29. 如何確定我是否安裝了本地SQL Server 2008 R2
- 30. 如何確定SQL Server Management Studio Express(2005)是否已安裝?
你正在使用什麼樣的安裝軟件? – Fischermaen