資料庫安裝程式

來源:互聯網
上載者:User
程式|資料|資料庫 引言
  最近做了一個資料庫安裝程式,本打算用 InstallShield X 來做的,結果D版沒買到,用 Visual Studio.net 內建的安裝工具又不能滿足要求,最後只好自己開發。
設計概要
  設計一個表單基類(WizardForm),再根據所需安裝步驟建立不同的繼承自該類的子類,通過一個靜態Hashtable類型的全域變數來儲存在這些安裝步驟表單之間的參數值。安裝資料庫和初始化資料均使用SQL指令碼來產生,這些指令碼統一儲存在一個格式化的XML檔案中,安裝程式通過設定檔中指定的路徑讀取該XML檔案,並根據註冊表中儲存的已經安裝了的版本,截取安裝後續的指令碼包,安裝成功後在目標電腦的註冊表內儲存最後一次安裝的指令碼包版本號碼,以供以後升級安裝使用。
  安裝程式通過設定檔來儲存安裝介面顯示的客戶化的資訊,如“視窗標題”、“橫幅圖片”、預設的“橫幅標題”、預設的“主體文本”等,具體設定檔內容如下:

<?xml version="1.0" encodifg="utf-8" ?>

<configuration>

<appSettings>

<add key="CompanyName" value="SunWu Software Studio"/>

<add key="ProductName" value="iMRP"/>

<add key="Edition" value="標準版"/>

<add key="UpdateFile" value="Update.xml"/>

<add key="LicenceFile" value="EULA.rtf"/>

<add key="Title" value="iMRP 資料庫安裝"/>

<add key="BannerText" value="iMRP 資料庫安裝" />

<add key="BannerImageFile" value="" />

<add key="WarningText" value="警告:本電腦程式受著作權法和國際條約保護。如未經授權而擅自複製或傳播本程式(或其中任何部分),將受到嚴厲的民事及刑事制裁,並將在法律許可的範圍內受到最大程度的起訴。" />



<add key="Welcome.BannerText" value="歡迎使用 iMRP 資料庫安裝嚮導" />

<add key="Welcome.BodyText" value="安裝程式將引導您完成在您的電腦上安裝 iMRP 資料庫所需的步驟。" />

<add key="Licence.BannerText" value="許可協議" />

<add key="Licence.BodyText" value="  現在請閱讀此許可協議。如果接受以下條款,請單擊“同意”,然後單擊“下一步”。否則,請單擊“取消”,以退出該安裝。" />

<add key="Setting.BannerText" value="參數設定" />

<add key="Setting.BodyText" value="安裝程式將把資料庫安裝到下面的電腦中。



請指定安裝過程中需使用的資料庫系統的使用者及其口令。" />

<add key="Confirm.BannerText" value="確認安裝" />

<add key="Confirm.BodyText" value="安裝程式已準備在您的電腦上安裝 iMRP 資料庫。



單擊“下一步”開始安裝..." />

<add key="Processing.BannerText" value="正在安裝" />

<add key="Processing.BodyText" value="正在安裝 iMRP 資料庫,請稍候..." />

<add key="Completed.BannerText" value="安裝完成" />

<add key="Completed.BodyText" value="已成功安裝 ?MRP 資料庫。



單擊“完成”退出。" />

</appSettings>

</configuration>





介面截圖
  我定義該資料庫安裝程式包含這幾個步驟:


歡迎(Welcome)
授權(Licence)
設定(Setting)
確認(Confirm)
進度(Processing)
完成(Completed)
  步驟表單截圖依次如下:

1、歡迎


2、授權


3、設定


4、確認


5、進度


6、完成

  每個步驟均對應一個繼承自基類WizardForm的表單類,他們通過設定檔中相關設定來設定各自的“橫幅標題”和“主體文本”屬性(詳情見設定檔)。


安裝檔案
  安裝程式使用安裝檔案內的指令碼包來執行資料庫操作,該XML格式的安裝檔案包含建立資料庫和需要發布的每次改動的指令碼,通過將這些指令碼打包進行版本管理。具體安裝檔案內容如下:

<?xml version="1.0" encoding="utf-8" ?>

<database id="{98A217A6-C1A2-422a-81D8-41C9EC24ABB1}" name="GMIS" version="1.0" provider="SQLServer" remark="">

<packet name="Standard" version="1.0" title="標準版" remark="該版本自2002年11月的更新。">

<script title="建立資料庫" remark="在目標電腦的資料庫伺服器中建立指定名稱的資料庫">

<![CDATA[

IF $Parameters[DBExist] = 0

BEGIN

CREATE DATABASE $Parameters[Database]

END

]]>

</script>



<script title="開啟資料庫" remark="開啟當前的資料庫,以確保後續的操作在當前資料庫內進行。">

<![CDATA[

/* 以下語句非常重要!*/

USE $Parameters[Database]

]]>

</script>

</packet>



<packet name="SP001" version="1.1" title="補丁1.1" remark="補丁注釋">

<script title="指令碼01" remark="指令碼注釋-1.1.1">

<![CDATA[

SELECT * FROM master.dbo.sysobjects;

SELECT * FROM master.dbo.sysmessages

]]>

</script>

</packet>



<packet name="SP002" version="1.2" title="補丁1.2" remark="補丁注釋">

<script title="指令碼101" remark="指令碼注釋-1.2.1">

<![CDATA[

SELECT * FROM master.dbo.sysobjects

]]>

</script>



<script title="指令碼102" remark="指令碼注釋-1.2.2">

<![CDATA[

SELECT * FROM master.dbo.sysobjects

]]>

</script>

</packet>

</database>




安裝資訊
  安裝完成後,需要在目標電腦的註冊表內(具體位置為HKEY_LOCAL_MACHINE\Software\<CompanyName>\<ProductName><Edition>)儲存當前的安裝執行個體編號(安裝檔案根節點的id屬性值)和資料庫名稱以及指令碼包版本,在以後的升級安裝時,在根據儲存的資訊進行匹對以從斷點處開始安裝。




相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。