1. Trang chủ
  2. » Công Nghệ Thông Tin

Cách tạo setup project visual studio với sql

45 338 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 45
Dung lượng 2,95 MB

Nội dung

Project QLSVApplication: là ứng dụng dùng để hiển thị thông tin sinh viên, chỉ là 1 Datagridview để hiển thị lên.Project SetupEngine : là Project loại Libraries, project này chúng ta sẽ thêm loại Installer đặt tên là InstallerEngine (Class này có nhiệm vụ cài đặt Cơ sở dữ liệu vào máy tính, với các thông số được truyền vào từ quá trình cài đặt do ta quy định). Ta sẽ nhúng các SQL Script mà SQLServer cung cấp cho ta vào đây với tên sqldata.txt và sqldropcreate.txt (nhớ đặt tên viết thường, ta sẽ đi vào chi tiết ở phần sau)Ta sẽ biên dịch project này thành dll để sử dụng trong Project QLSVSetup.Project QLSVSetup : Dùng để cài đặt ứng dụng QLSVApplication vào máy tính, và ra lệnh cho SetupEngine cài đặt cơ sở dữ liệu

Trang 1

Cách t ạ o setup project visual studio v ớ i Sql serverTạo Solution có chứa 3 Project bên như dưới:

Project QLSVApplication: là ứng dụng dùng để hiển thị thông tin sinh viên, chỉ là 1 Datagridview để hiển thị lên

Project SetupEngine : là Project loại Libraries, project này chúng ta sẽ thêm loại Installer đặt tên là InstallerEngine (Class này có nhiệm vụ cài đặt Cơ sở dữ liệu vào máy tính, với các thông số được truyền vào từ quá trình cài đặt do ta quy định) Ta sẽnhúng các SQL Script mà SQLServer cung cấp cho ta vào đây với

tên sqldata.txt và sqldropcreate.txt (nhớ đặt tên viết thường, ta sẽ đi vào chi tiết ở phần sau)

Ta sẽ biên dịch project này thành dll để sử dụng trong Project QLSVSetup

Project QLSVSetup : Dùng để cài đặt ứng dụng QLSVApplication vào máy tính, và

ra lệnh cho SetupEngine cài đặt cơ sở dữ liệu

Bước 1: Tạo ứng dụng sử dụng

Project QLSVApplication:

Trong project này đơn giản chỉ là hiển thị thông tin, chuỗi kết nối sẽ được đọc từ

Trang 2

Bước 2: Tạo Project để cài đặt CSDL

Project SetupEngine: Project dùng để tạo CSDL, Project này chúng ta nhớ chọn loại Libraries

– Để tạo class Installer như trong project: Bấm chuột phải vào Project/ chọn Add / New Item Trong của sổ mới hiện lên chúng ta tìm tới loại Installer Class, đặt tên class là InstallerEngine

Trang 3

– Đặt tên class InstallerEngine rồi nhấn Add

– Tiếp tục tạo 2 Text File để lưu SQL Script (các Script này được lấy bằng công cụ SQL Server cho lẹ) Ở đây ta chia làm 2 tập tin SQL Script bởi vì lý do sau: Thao tác tạo CSDL cần phải có thời gian chờ để nó kịp update vào SQL Server

Ta cho chờ 1 thời gian sau đó mới tiếp tục chạy các SQL Script về tạo bảng, insert

dữ liệu…

– Để tạo Text File: Bấm chuột phải vào Project / Add/ New Item / chọn Text File và nhập tên

Trang 4

– Trên đây là tạo Text File tên sqldropcreate.txt , chú ý nhớ đặt tên viết thường toàn bộ.

– Sau khi tạo xong tập tin sqldropcreate.txt, chép đoạn Script tạo CSDL vào đây (xem hình ):

–>Các script này có sẵn do SQL Server tự tạo nên ta chỉ cần copy từ đó vào đây (nhớ bỏ hết các dòng có chữ Go)

Trang 5

– Bây giờ chúng ta tiến hành chỉnh sủa class InstallerEngine:

using System;using System.Collections;using

System.Collections.Generic;using System.ComponentModel;using System.Configuration.Install;

Trang 6

private string logFilePath =””;

private string pathApp = “”;

// Gets the current assembly.

Assembly Asm = Assembly.GetExecutingAssembly();

// Resources are named using a fully qualified name.

Stream strm = Asm.GetManifestResourceStream(Asm.GetName().Name + “.” + Name); // Reads the contents of the embedded file.

StreamReader reader = new StreamReader(strm);

string sInfor = reader.ReadToEnd();

Log(sInfor);

Trang 8

// Creates the database and installs the tables.

string strScript = GetSql(“sqldropcreate.txt”);

ExecuteSql(serverName, “master”, userid, password, strScript);

Trang 9

// Updating connection string in file

Log(“Followind node of config file will be updated: ” + xmlNode.InnerXml); // Save to disk

Trang 10

public override void Install(System.Collections.IDictionary stateSaver)

{

base.Install(stateSaver);

string assemPath = this.Context.Parameters[“assemblypath”];

int pos = assemPath.LastIndexOf(“\”);

logFilePath = assemPath Substring(0,pos+1)+ “\SetupLog117.txt”;

pathApp = assemPath.Substring(0, pos + 1) + “\QLSVApplication.exe.config”;

Log(“—-Setup started—-“);

Log(“Server=” + this.Context.Parameters[“servername”] + ” ; User Id=” +

this.Context.Parameters[“userid”] + ” ; pwd=” + this.Context.Parameters[“password”]); foreach (DictionaryEntry s in this.Context.Parameters)

{

Log(“Parameter : “+s.Key +” ; value =”+s.Value);

}

AddDBTable(this.Context.Parameters[“servername”], this.Context.Parameters[“userid”], this.Context.Parameters[“password”]);

}

public void Log(string str)

{

Trang 11

Giải thích một số dòng lệnh bên trên:

Hàm GetSql(string Name) : Dùng để đọc 2 Text File Sql Script Vì 2 tập tin này chúng ta nhúng vào Assembly nên cơ chế đọc tập tin sẽ là như vậy (xem code)

Lệnh : this.Context.Parameters[“assemblypath”]; lấy đúng đường dẫn mà lúc cài đặt chương trình người sử dụng chọn

Key assemblypath là có sẵn, phải viết y chang

this.Context.Parameters[“servername”], this.Context.Parameters[“userid”],

this.Context.Parameters[“password”]

còn servernam, userid, password là do chúng ta quy định, do chúng ta đặt bên

Project Setup, 3 biến này phải đặt y chang như 3 biến mà bên Project Setup ta đã đặt

void AddDBTable(string serverName, string userid, string password) có nhiệm vụ xóa và tạo mới CSDL sau đó tạo các bảng, dữ liệu sau khi tạo xong thì tự động cập nhập file App.config cho chương trình (dùng xml)

Bước 3: Tạo Project Setup

Trang 12

Chọn Setup project: đặt tên QLSVSetup rồi bấm OK.

Bấm chuột phải vào QLSVSetup/ chọn File System:

Trang 13

Tại cửa sổ này ta bấm chuột vào thư mục Application Folder, để có được thông tin như bên phải của hình ta làm như sau:

Bấm chuột phải vào Application Folder / Add/ Project Output…

Tiếp tục thêm các tập tin ứng dụng và app.config bên Project QLSVApplication vào đây:

Trang 14

Bấm chuột phải vào Application Folder / Add/ File:

Kết quả:

Để tạo Shortcut cho ứng dụng sau khi cài đặt thì ta bấm chuột phải vào QLSVApplication.exe

Trang 15

Sau đó cắt vào User’s Desktop hay User’s programs Menu, ta có thể tạo bất kỳ thư mục nào bên nhánh trái, rồi chép Shortcut vào đó, có thể tạo nhiều shortcut.

Tiếp theo ta cấu hình giao diện cài đặt, bấm chuột vào QLSVSetup, bên trên ta chọn Icon User Interface Editor:

Màn hình User interface sẽ xuất hiện:

Trang 16

Cửa sổ Add Dialog hiển thị lên:

Cấu hình TextBoxes (A) như hình chụp bên dưới:

Trang 17

Các tên : CUSTOMTEXTA1, CUSTOMTEXTA2, CUSTOMTEXTA3 là do ta đặt

để bên Custom Action có thể tham chiếu lấy giá trị từ màn hình cài đặt Không dùng Edit4Property nên to cho Edit4Visible =false

– Tiếp theo, cấu hình Custom Action: Bấm chuột phải vào QLSVSetup/ chọn View/ chọn Custom Actions

Tại cửa sổ Custom Actions, Bấm chuột phải vào Install / chọn Add Custom Action…

Trang 18

Chọn Primary ouput from SetupEngine (active) rồi bấm OK.

Trang 19

Tức là ở đây ta đặt tên gì thì bên SetupEngine phải lấy đúng tên ta đặt bên này

CUSTOMTEXTA1 , CUSTOMTEXTA2, CUSTOMTEXTA3 là do ta đặt cho các EditPropertie của Textboxes (A)

Bước 4: biên dịch và cài đặt

– Cấu hình QLSVSetup như bên dưới

Trang 20

Chọn Rebuild để biên dịch Setup.

Sau đó chọn Install để cài đặt:

Trang 21

1 BẤM next, tự động xuất hiện màn hình cấu hình CSDL (chính là Textboxes (A))

2 Nhập thông tin và bấm Next:

3 Chọn đường dẫn cài đặt và bấm Next … cứ vậy là xong Chương trình sẽ cài đặt ứng dụng đồng thời cài đặt SQL luôn (có cập nhật kết nối cho ta luôn)

Kết quả quan sát màn hình Desktop và khởi động chương trình:

Trang 22

Tải tập tin hướng dẫn chi tiết tại đây : http://www.mediafire.com/?16y4jy4pwpq1mpj

Tải source code tại đây: http://www.mediafire.com/?35rflfc15bdav5v

Trang 23

Cách tạo setup project visual studio với Sql server

By Trần Duy Thanh on November 9, 2012 | 6 Comments

2 Votes

Tạo Solution có chứa 3 Project bên như dưới:

Project QLSVApplication: là ứng dụng dùng để hiển thị thông tin sinh viên, chỉ là

1 Datagridview để hiển thị lên

Project SetupEngine : là Project loại Libraries, project này chúng ta sẽ thêm loại

Installer đặt tên là InstallerEngine (Class này có nhiệm vụ cài đặt Cơ sở dữ liệu vào

Trang 24

máy tính, với các thông số được truyền vào từ quá trình cài đặt do ta quy định) Ta sẽnhúng các SQL Script mà SQLServer cung cấp cho ta vào đây với

tên sqldata.txt và sqldropcreate.txt (nhớ đặt tên viết thường, ta sẽ đi vào chi tiết ở phần sau)

Ta sẽ biên dịch project này thành dll để sử dụng trong Project QLSVSetup

Project QLSVSetup : Dùng để cài đặt ứng dụng QLSVApplication vào máy tính, và

ra lệnh cho SetupEngine cài đặt cơ sở dữ liệu

Bước 1: Tạo ứng dụng sử dụng

Project QLSVApplication:

Trong project này đơn giản chỉ là hiển thị thông tin, chuỗi kết nối sẽ được đọc từ app.config Chuỗi này sẽ được cấp nhập trong quá trình cài đặt vào máy tính

Trang 25

Bước 2: Tạo Project để cài đặt CSDL

Project SetupEngine: Project dùng để tạo CSDL, Project này chúng ta nhớ chọn loại Libraries

– Để tạo class Installer như trong project: Bấm chuột phải vào Project/ chọn Add / New Item Trong của sổ mới hiện lên chúng ta tìm tới loại Installer Class, đặt

tên class là InstallerEngine

Trang 26

– Đặt tên class InstallerEngine rồi nhấn Add

– Tiếp tục tạo 2 Text File để lưu SQL Script (các Script này được lấy bằng công cụ SQL Server cho lẹ) Ở đây ta chia làm 2 tập tin SQL Script bởi vì lý do sau: Thao tác tạo CSDL cần phải có thời gian chờ để nó kịp update vào SQL Server

Ta cho chờ 1 thời gian sau đó mới tiếp tục chạy các SQL Script về tạo bảng, insert

dữ liệu…

Trang 27

– Trên đây là tạo Text File tên sqldropcreate.txt , chú ý nhớ đặt tên viết thường toàn bộ.

– Sau khi tạo xong tập tin sqldropcreate.txt, chép đoạn Script tạo CSDL vào đây (xem hình ):

–>Các script này có sẵn do SQL Server tự tạo nên ta chỉ cần copy từ đó vào đây (nhớ bỏ hết các dòng có chữ Go)

– Tiếp theo ta phải cấu hình để 2 Text File này được nhúng vào Resource sau khi biên dịch

– Trong Properties: Lần lượt chọn 2 Text File trên và chọn Embedded

Trang 28

– Bây giờ chúng ta tiến hành chỉnh sủa class InstallerEngine:

using System;using System.Collections;using System.Collections.Generic;using System.ComponentModel;

Trang 29

public partial class InstallerEngine : System.Configuration.Install.Installer

{

private string logFilePath =””;

private string pathApp = “”;

// Gets the current assembly.

Assembly Asm = Assembly.GetExecutingAssembly();

// Resources are named using a fully qualified name.

Stream strm = Asm.GetManifestResourceStream(Asm.GetName().Name + “.” + Name); // Reads the contents of the embedded file.

StreamReader reader = new StreamReader(strm);

string sInfor = reader.ReadToEnd();

Log(sInfor);

reader.Close();

Trang 31

// Creates the database and installs the tables.

string strScript = GetSql(“sqldropcreate.txt”);

ExecuteSql(serverName, “master”, userid, password, strScript);

Trang 32

XmlDocument xmlDom = new XmlDocument();

// Updating connection string in file

Log(“Followind node of config file will be updated: ” + xmlNode.InnerXml); // Save to disk

Trang 33

public override void Install(System.Collections.IDictionary stateSaver)

{

base.Install(stateSaver);

string assemPath = this.Context.Parameters[“assemblypath”];

int pos = assemPath.LastIndexOf(“\\”);

logFilePath = assemPath Substring(0,pos+1)+ “\\SetupLog117.txt”;

pathApp = assemPath.Substring(0, pos + 1) + “\\QLSVApplication.exe.config”;

Log(“—-Setup started—-“);

Log(“Server=” + this.Context.Parameters[“servername”] + ” ; User Id=” +

this.Context.Parameters[“userid”] + ” ; pwd=” + this.Context.Parameters[“password”]); foreach (DictionaryEntry s in this.Context.Parameters)

{

Log(“Parameter : “+s.Key +” ; value =”+s.Value);

}

AddDBTable(this.Context.Parameters[“servername”], this.Context.Parameters[“userid”], this.Context.Parameters[“password”]);

Trang 34

Giải thích một số dòng lệnh bên trên:

Hàm GetSql(string Name) : Dùng để đọc 2 Text File Sql Script Vì 2 tập tin này chúng ta nhúng vào Assembly nên cơ chế đọc tập tin sẽ là như vậy (xem code)

Lệnh : this.Context.Parameters[“assemblypath”]; lấy đúng đường dẫn mà lúc cài đặt chương trình người sử dụng chọn

Key assemblypath là có sẵn, phải viết y chang.

this.Context.Parameters[“servername”], this.Context.Parameters[“userid”],

this.Context.Parameters[“password”]

còn servernam, userid, password là do chúng ta quy định, do chúng ta đặt bên

Project Setup, 3 biến này phải đặt y chang như 3 biến mà bên Project Setup ta đã

Trang 35

Bước 3: Tạo Project Setup

Chọn Setup project: đặt tên QLSVSetup rồi bấm OK

Bấm chuột phải vào QLSVSetup/ chọn File System:

Trang 36

Tại cửa sổ này ta bấm chuột vào thư mục Application Folder, để có được thông tin như bên phải của hình ta làm như sau:

Bấm chuột phải vào Application Folder / Add/ Project Output…

Tiếp tục thêm các tập tin ứng dụng và app.config bên Project QLSVApplication vào

Trang 37

Bấm chuột phải vào Application Folder / Add/ File:

Kết quả:

Để tạo Shortcut cho ứng dụng sau khi cài đặt thì ta bấm chuột phải vào QLSVApplication.exe

Trang 38

Sau đó cắt vào User’s Desktop hay User’s programs Menu, ta có thể tạo bất kỳ thư mục nào bên nhánh trái, rồi chép Shortcut vào đó, có thể tạo nhiều shortcut.

Tiếp theo ta cấu hình giao diện cài đặt, bấm chuột vào QLSVSetup, bên trên ta chọn Icon User Interface Editor:

Màn hình User interface sẽ xuất hiện:

Trang 39

Cửa sổ Add Dialog hiển thị lên:

Trang 40

Cấu hình TextBoxes (A) như hình chụp bên dưới:

Trang 41

Tại cửa sổ Custom Actions, Bấm chuột phải vào Install / chọn Add Custom Action…

Chọn Primary ouput from SetupEngine (active) rồi bấm OK

Trang 42

Sau đó click chuột vào Primary output, quan sát Properties, Ta cấu hình

Trang 43

Bước 4: biên dịch và cài đặt

– Cấu hình QLSVSetup như bên dưới

Chọn Rebuild để biên dịch Setup

Sau đó chọn Install để cài đặt:

Các bước cài đặt:

Trang 44

1 BẤM next, tự động xuất hiện màn hình cấu hình CSDL (chính là Textboxes (A))

2 Nhập thông tin và bấm Next:

Ngày đăng: 14/08/2017, 20:31

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w