用C 寫程式安裝包

2022-07-20 20:45:13 字數 2486 閱讀 9963

前段日子由於團隊開發需要,寫了乙個用c#**寫的安裝包!首先說一下背景,之所以寫這個,是因為我們在完成乙個winform程式之後,需要部署到其他電腦上時發現:部署需要搭建的環境例如系統用到的外設驅動,資料庫環境。還有將該系統部署到其他電腦上選擇路徑和寫入登錄檔。有點類似於qq安裝程式。

1.初始介面如下:

當然,介面有點醜,還沒有logo之類的美化。

2.環境檢測安裝(即安裝外設的驅動和搭建好資料庫環境)

這裡的安裝外設驅動說白了就是用c#**實現呼叫乙個.exe程式並執行安裝,搭建資料庫環境也就是系統需要用到本地資料庫作為伺服器存放資料(因為需要部署的系統是乙個單機版的程式)。

(1)用c#**呼叫exe程式

(2)安裝乙個資料庫例項(搭建資料庫環境)

**如下:

private

void detect()

}//在這裡我直接安裝了乙個簡化的資料庫環境sql server,以下引數是採用靜默安裝方法是建立的乙個資料庫例項。

install("sqlexpr32_x86_enu.exe", @"/qb instancename=""veindbinstance"" addlocal=all securitymode=sql sapwd=""123456"" sqlautostart=1");

}private

void install(string file,string param=null)

2.安裝(環境搭建好之後把winform程式部署到電腦上並寫入登錄檔)

///

寫入登錄檔函式

///寫入登錄檔

///        ///

"name"

>

版本        ///

"tovalue"

>

1.0        private

void wtregedit(string name, string tovalue)

//////建立vbs** 

//////

private

string createvbs(string name, string strexe)

//////寫入臨時檔案 

///private

static

string writetofile(string vbs)

catch (exception ex)

finally

return tempfile;

}///

///執行vbs中的** 

///private

static

void runprocess(string file)

}///

安裝過程

///安裝過程

///        ///

"sender"

>

///"e">

private

void install_shown(object sender, eventargs e)

//////實現從乙個目錄下完整拷貝到另乙個目錄下。這裡其實就是乙個拷貝乙個部署包,裡面包括可執行檔案exe和dll檔案之類的。

///        ///

"strfrompath"

>

源位址        ///

"strtopath"

>

目標位址

public

static

void copyfolder(string strfrompath, string strtopath)

//建立陣列儲存源資料夾下的檔名

string strfiles = directory.getfiles(strfrompath);

//迴圈拷貝檔案

for (int i = 0; i 

//建立directoryinfo例項

directoryinfo dirinfo = new

directoryinfo(strfrompath);

//取得源資料夾下的所有子資料夾名稱

directoryinfo zipath = dirinfo.getdirectories();

for (int j = 0; j 

}

至此,乙個簡易安裝嚮導程式的核心**都在這了。新手剛學,**亂,還請指正!

總結一下以上**能實現什麼功能:

1.將指定檔案或指定資料夾拷貝到某乙個指定的目錄下

2.拷貝完之後能將軟體資訊寫入登錄檔,完成註冊

3.呼叫exe檔案,執行

4.建立桌面快捷方式

用WIX製作安裝包

1 需要打包的檔案,目錄層級很多,檔案數量也很多 甚至有幾萬個 沒法手工寫wxs安裝檔案 解決辦法是呼叫heat命令列,自動生成wxs檔案。heat.exe dir help cg oemhelpfilescomponents dr oemhelpfilesfolder sreg srd varva...

NSIS程式安裝包製作

啟動nsis程式主介面,選擇 視覺化指令碼編輯器 vnisedit 選單,開始製作自己的安裝包 選擇 使用指令碼嚮導建立新的指令碼檔案 確定 進步指令碼嚮導,下一步 第一步,這裡填寫應用程式的一些基本資訊,下一步 第二步,這裡是選擇安裝包的圖示,生成的檔名,程式語言等,使用預設的就可以,不需要修改 ...

mysql安裝包安裝 mysql安裝包安裝

centos7.4在無網環境下的mysql簡易安裝,使用tar包安裝mysql。使用的資源 上傳解壓 使用xftp上傳 解壓mysql 5.7.28 el7 x86 64.tar.gz 重新命名,方便配置環境變數 cd usr mv mysql 5.7.28 el7 x86 64 mysql 配置環...