您好,登錄后才能下訂單哦!
這篇文章主要講解了“C#安裝程序中打包MSDE的詳細步驟”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C#安裝程序中打包MSDE的詳細步驟”吧!
在Visual Studio 2003的工程中添加Microsoft SQL Server 2000 Desktop Engine (MSDE)的自動安裝合并模塊MSM:
1.下載MSDE2000的sp3a安裝包。
2.解壓到本地硬盤,其中的MSM文件夾中的東東就是MSDE2000合并模塊。
3.在你的工程中添加一個安裝工程假設為MySetup,按照正常的步驟添加工程輸出(Project Output),選擇輸出文件(primary output)和內容文件(content files)兩項。
4.添加合并模塊(Merge Moudle),選擇瀏覽,指定到你的MSDE的MSM文件夾,選擇MSM(不包括msm1033和msm2052)下的所有的文件(REPL.MSM、REPL_RES.MSM、 DMO_RES.MSM和DMO.MSM可以不選),打開。
5.設置安裝工程的屬性(Properties)中的SearchPath,指定為你的MSM所在路徑(MSM和MSM1033和MSM2052)。
6.設置好安裝程序的其他屬性,這時就可以對你的安裝工程進行編譯了。
7.我們需要修改打好的安裝包,使它可以在安裝完程序后自動安裝MSDE的一個實例(假設實例名為:MyServer)。我們需要用到MS的一個工具ORCA
8.用ORCA打開安裝包文件MySetup.msi
InstallExecuteSequence表
GetSqlStates.XXXXXX 103->421
InstallInitialize 1800->1799
RemoveExistingProducts 1825->1800
InstallUISequence表
GetSqlStates.XXXXXX 103->421
Property表添加
SqlInstanceName: MSDEDH實例服務名
SqlSecurityMode: SQL 用SQL模式登錄
SqlSaPwd: sa的密碼
DISABLENETWORKPROTOCOLS=0:網絡訪問的話也要加這項
重寫C#安裝程序Installer
下面方法適用于C#安裝程序,沒有添加SqlInstanceName:這個屬性,用機器名訪問msde
public override void Commit(IDictionary savedState) { base.Commit (savedState); //啟動windows服務 new System.ServiceProcess.ServiceController("MSSQLSERVER").Start(); //附加數據庫 SqlConnection Connection = new SqlConnection("password=**;user id=sa;data source="+SystemInformation.ComputerName); SqlCommand Cmd = new SqlCommand("sp_attach_db",Connection); Cmd.CommandType = CommandType.StoredProcedure; SqlParameter loginname=Cmd.Parameters.Add("@dbname",SqlDbType.NVarChar,20); loginname.value ="yourname"; SqlParameter nickname=Cmd.Parameters.Add("@filename1",SqlDbType.NVarChar,50); nickname.value =Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)+"yourname.mdf"; SqlParameter password=Cmd.Parameters.Add("@filename2",SqlDbType.NVarChar,50); password.value =Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)+"yourname.ldf"; Connection.Open(); Cmd.ExecuteNonQuery(); Connection.Close(); }
用附加數據庫,我認為是***的解決辦法。
在沒有SQL環境的機器上運行你的C#安裝程序,會自動安裝MSDE,并附加你的數據庫,重起機器后,自動啟動Sql Server的實例。
感謝各位的閱讀,以上就是“C#安裝程序中打包MSDE的詳細步驟”的內容了,經過本文的學習后,相信大家對C#安裝程序中打包MSDE的詳細步驟這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。