国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

數(shù)據(jù)庫安裝程序

2024-07-21 02:23:16
字體:
供稿:網(wǎng)友
引言
  最近做了一個數(shù)據(jù)庫安裝程序,本打算用 installshield x 來做的,結(jié)果d版沒買到,用 visual studio.net 自帶的安裝工具又不能滿足要求,最后只好自己開發(fā)。
設(shè)計概要
  設(shè)計一個窗體基類(wizardform),再根據(jù)所需安裝步驟創(chuàng)建不同的繼承自該類的子類,通過一個靜態(tài)的hashtable類型的全局變量來保存在這些安裝步驟窗體之間的參數(shù)值。安裝數(shù)據(jù)庫和初始化數(shù)據(jù)均使用sql腳本來生成,這些腳本統(tǒng)一保存在一個格式化的xml文件中,安裝程序通過配置文件中指定的路徑讀取該xml文件,并根據(jù)注冊表中保存的已經(jīng)安裝了的版本,截取安裝后續(xù)的腳本包,安裝成功后在目標計算機的注冊表內(nèi)保存最后一次安裝的腳本包版本號,以供以后升級安裝使用。
  安裝程序通過配置文件來保存安裝界面顯示的客戶化的信息,如“窗口標題”、“橫幅圖片”、默認的“橫幅標題”、默認的“主體文本”等,具體配置文件內(nèi)容如下:

<?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 數(shù)據(jù)庫安裝"/>

<add key="bannertext" value="imrp 數(shù)據(jù)庫安裝" />

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

<add key="warningtext" value="警告:本計算機程序受版權(quán)法和國際條約保護。如未經(jīng)授權(quán)而擅自復(fù)制或傳播本程序(或其中任何部分),將受到嚴厲的民事及刑事制裁,并將在法律許可的范圍內(nèi)受到最大程度的起訴。" />



<add key="welcome.bannertext" value="歡迎使用 imrp 數(shù)據(jù)庫安裝向?qū)?quot; />

<add key="welcome.bodytext" value="安裝程序?qū)⒁龑?dǎo)您完成在您的計算機上安裝 imrp 數(shù)據(jù)庫所需的步驟。" />

<add key="licence.bannertext" value="許可協(xié)議" />

<add key="licence.bodytext" value="  現(xiàn)在請閱讀此許可協(xié)議。如果接受以下條款,請單擊“同意”,然后單擊“下一步”。否則,請單擊“取消”,以退出該安裝。" />

<add key="setting.bannertext" value="參數(shù)設(shè)置" />

<add key="setting.bodytext" value="安裝程序?qū)褦?shù)據(jù)庫安裝到下面的計算機中。



請指定安裝過程中需使用的數(shù)據(jù)庫系統(tǒng)的用戶及其口令。" />

<add key="confirm.bannertext" value="確認安裝" />

<add key="confirm.bodytext" value="安裝程序已準備在您的計算機上安裝 imrp 數(shù)據(jù)庫。



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

<add key="processing.bannertext" value="正在安裝" />

<add key="processing.bodytext" value="正在安裝 imrp 數(shù)據(jù)庫,請稍候..." />

<add key="completed.bannertext" value="安裝完成" />

<add key="completed.bodytext" value="已成功安裝 ?mrp 數(shù)據(jù)庫。



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

</appsettings>

</configuration>





界面截圖
  我定義該數(shù)據(jù)庫安裝程序包含這幾個步驟:


歡迎(welcome)
授權(quán)(licence)
設(shè)置(setting)
確認(confirm)
進度(processing)
完成(completed)
  步驟窗體截圖依次如下:

1、歡迎


2、授權(quán)


3、設(shè)置


4、確認


5、進度


6、完成

  每個步驟均對應(yīng)一個繼承自基類wizardform的窗體類,他們通過配置文件中相關(guān)設(shè)置來設(shè)置各自的“橫幅標題”和“主體文本”屬性(詳情見配置文件)。


安裝文件
  安裝程序使用安裝文件內(nèi)的腳本包來執(zhí)行數(shù)據(jù)庫操作,該xml格式的安裝文件包含創(chuàng)建數(shù)據(jù)庫和需要發(fā)布的每次改動的腳本,通過將這些腳本打包進行版本管理。具體安裝文件內(nèi)容如下:

<?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="創(chuàng)建數(shù)據(jù)庫" remark="在目標計算機的數(shù)據(jù)庫服務(wù)器中創(chuàng)建指定名稱的數(shù)據(jù)庫">

<![cdata[

if $parameters[dbexist] = 0

begin

create database $parameters[database]

end

]]>

</script>



<script title="打開數(shù)據(jù)庫" remark="打開當前的數(shù)據(jù)庫,以確保后續(xù)的操作在當前數(shù)據(jù)庫內(nèi)進行。">

<![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>




安裝信息
  安裝完成后,需要在目標計算機的注冊表內(nèi)(具體位置為hkey_local_machine/software/<companyname>/<productname><edition>)保存當前的安裝實例編號(安裝文件根節(jié)點的id屬性值)和數(shù)據(jù)庫名稱以及腳本包版本,在以后的升級安裝時,在根據(jù)保存的信息進行匹對以從斷點處開始安裝。


  • 本文來源于網(wǎng)頁設(shè)計愛好者web開發(fā)社區(qū)http://www.html.org.cn收集整理,歡迎訪問。
  • 發(fā)表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發(fā)表
    主站蜘蛛池模板: 集贤县| 乌拉特前旗| 阿荣旗| 五莲县| 桃园市| 永泰县| 南宫市| 兴国县| 德保县| 克什克腾旗| 仪征市| 永兴县| 桃源县| 浦北县| 花莲市| 澄江县| 万州区| 集贤县| 新龙县| 平原县| 图片| 黄龙县| 海南省| 鄂伦春自治旗| 广东省| 屏东县| 临夏县| 舒城县| 永丰县| 松潘县| 和静县| 德昌县| 江油市| 兴仁县| 高尔夫| 修文县| 边坝县| 承德市| 古田县| 晴隆县| 涟源市|