溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C#安裝程序中打包MSDE的詳細(xì)步驟

發(fā)布時(shí)間:2021-07-16 00:43:14 來源:億速云 閱讀:112 作者:chen 欄目:編程語言

這篇文章主要講解了“C#安裝程序中打包MSDE的詳細(xì)步驟”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“C#安裝程序中打包MSDE的詳細(xì)步驟”吧!

在Visual Studio 2003的工程中添加Microsoft SQL Server 2000 Desktop Engine (MSDE)的自動安裝合并模塊MSM:

1.下載MSDE2000的sp3a安裝包。

2.解壓到本地硬盤,其中的MSM文件夾中的東東就是MSDE2000合并模塊。

3.在你的工程中添加一個(gè)安裝工程假設(shè)為MySetup,按照正常的步驟添加工程輸出(Project Output),選擇輸出文件(primary output)和內(nèi)容文件(content files)兩項(xiàng)。

4.添加合并模塊(Merge Moudle),選擇瀏覽,指定到你的MSDE的MSM文件夾,選擇MSM(不包括msm1033和msm2052)下的所有的文件(REPL.MSM、REPL_RES.MSM、 DMO_RES.MSM和DMO.MSM可以不選),打開。

5.設(shè)置安裝工程的屬性(Properties)中的SearchPath,指定為你的MSM所在路徑(MSM和MSM1033和MSM2052)。

6.設(shè)置好安裝程序的其他屬性,這時(shí)就可以對你的安裝工程進(jìn)行編譯了。

7.我們需要修改打好的安裝包,使它可以在安裝完程序后自動安裝MSDE的一個(gè)實(shí)例(假設(shè)實(shí)例名為:MyServer)。我們需要用到MS的一個(gè)工具ORCA

8.用ORCA打開安裝包文件MySetup.msi

InstallExecuteSequence表

GetSqlStates.XXXXXX             103->421

InstallInitialize                          1800->1799

RemoveExistingProducts     1825->1800

InstallUISequence表

GetSqlStates.XXXXXX        103->421

Property表添加

SqlInstanceName:          MSDEDH實(shí)例服務(wù)名

SqlSecurityMode:          SQL 用SQL模式登錄

SqlSaPwd:                 sa的密碼

DISABLENETWORKPROTOCOLS=0:網(wǎng)絡(luò)訪問的話也要加這項(xiàng)

重寫C#安裝程序Installer

下面方法適用于C#安裝程序,沒有添加SqlInstanceName:這個(gè)屬性,用機(jī)器名訪問msde

public override void Commit(IDictionary savedState)  {  base.Commit (savedState);  //啟動windows服務(wù)  new System.ServiceProcess.ServiceController("MSSQLSERVER").Start();  //附加數(shù)據(jù)庫  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();  }

用附加數(shù)據(jù)庫,我認(rèn)為是***的解決辦法。

在沒有SQL環(huán)境的機(jī)器上運(yùn)行你的C#安裝程序,會自動安裝MSDE,并附加你的數(shù)據(jù)庫,重起機(jī)器后,自動啟動Sql Server的實(shí)例。

感謝各位的閱讀,以上就是“C#安裝程序中打包MSDE的詳細(xì)步驟”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對C#安裝程序中打包MSDE的詳細(xì)步驟這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI