欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

vb.net包,vbnet包含禁則文字

vb.net怎樣制作安裝包

打包過程:

大柴旦ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

1、打開自己已經(jīng)創(chuàng)建好的VB.NET項目(一般一開始創(chuàng)建項目的時候創(chuàng)建的是Windows窗體應(yīng)用程序)。

2、點“文件”--“新建項目”--“其他項目類型”--“安裝部署”--“Visual Studio Installer”--“安裝項目”,輸入項目名稱(此處命名為setup1)并點擊“確定”。

3、執(zhí)行完上一步,在解決方案下面會出現(xiàn)setup1項目。右擊setup1項目--“添加”--“項目輸出”。

4、在“添加項目輸出組”中,選擇“主輸出”,然后單擊“確定”。將自動添加所有依賴項。

5、在解決方案資源管理器中,右擊安裝項目---“添加”---“合并模塊”。? 把相關(guān)模塊添加進來。

6、在文件系統(tǒng)選項卡中添加所需的應(yīng)用程序圖標(biāo)等文件,并生成應(yīng)用程序的桌面快捷方式,在快捷方式上右鍵選擇屬性,并在屬性欄中的圖標(biāo)處選擇應(yīng)用程序快捷方式圖標(biāo)。(要在用戶桌面和用戶的“程序”菜單屬性里將AlwaysCreate屬性的值修改為True)。這樣安裝完程序后就可以看到桌面的圖標(biāo)了

7、關(guān)于應(yīng)用程序圖標(biāo)的詳細說明:

(1)點擊“應(yīng)用程序文件夾”并在右側(cè)的列表中的“主輸出來自。?!鄙嫌益I然后點擊“創(chuàng)建主輸出來自。。的快捷方式”

(2)把生成的快捷方式復(fù)制到“用戶桌面”,然后右鍵重命名為你想要在程序安裝后顯示的名字。

(3)重命名完成后在右側(cè)的屬性欄中點擊圖標(biāo)設(shè)置為自己想要的圖標(biāo),注意,需要先把圖標(biāo)文件ico加入到“應(yīng)用程序文件夾”中。(ico的制作:先做好256*256的png文件,然后百度ico制作找到在線制作ico的網(wǎng)站,直接生成ico圖標(biāo)文件)

關(guān)于安裝后的一些屬性的設(shè)置:

VB.NET怎么安裝

VB.NET安裝部署一).創(chuàng)建部署項目

1. 在“文件”菜單上指向“添加項目”,然后選擇“新建項目”。

2. 在“添加新項目”對話框中,選擇“項目類型”窗格中的“安裝和部署項目”,然后選擇“模板”窗格中的“安裝項目”。在“名稱”框中鍵入 setup1。

3. 單擊“確定”關(guān)閉對話框。

4. 項目被添加到解決方案資源管理器中,并且文件系統(tǒng)編輯器打開。

5. 在“屬性”窗口中,選擇 ProductName 屬性,并鍵入 信息管理系統(tǒng) 。

VB.NET安裝部署二).將 主程序 項目的輸出添加到部署項目中

1. 在“文件系統(tǒng)編輯器”中,選擇“應(yīng)用程序文件夾”。在“操作”菜單上,指向“添加”,然后選擇“項目輸出”。

2. 在“添加項目輸出組”對話框中,選擇“項目”下拉列表中的“你的程序”。

3. 單擊“確定”關(guān)閉對話框。

4. 從列表中選擇“主輸出”和“內(nèi)容文件”組,然后單擊“確定”。

VB.NET安裝部署三).創(chuàng)建安裝程序類

1. 在“文件”菜單上指向“新建”,然后選擇“項目”。

2. 在“新建項目”對話框中,選擇“項目類型”窗格中的“Visual Basic 項目”,然后選擇“模板”窗格中的“類庫”。在“名稱”框中鍵入 installDB。

3. 單擊“打開”關(guān)閉對話框。

4. 從“項目”菜單中選擇“添加新項”。

5. 在“添加新項”對話框中選擇“安裝程序類”。在“名稱”框中鍵入 installDB。

6. 單擊“確定”關(guān)閉對話框。

7. 詳細代碼附后。

VB.NET安裝部署四).創(chuàng)建自定義安裝對話框

1. 在解決方案資源管理器中選擇“setup1”項目。在“視圖”菜單上指向“編輯器”,然后選擇“用戶界面”。

2. 在用戶界面編輯器中,選擇“安裝”下的“啟動”節(jié)點。在“操作”菜單上,選擇“添加對話框”。

3. 在“添加對話框”對話框中,選擇“許可協(xié)議”對話框,然后單擊“確定”關(guān)閉對話框。

4. 在“添加對話框”對話框中,選擇“文本框 (A)”對話框,然后單擊“確定”關(guān)閉對話框。

5. 在“操作”菜單上,選擇“上移”。重復(fù)此步驟,直到“文本框 (A)”對話框位于“安裝文件夾”節(jié)點之上。

6. 在“屬性”窗口中,選擇 BannerText 屬性并鍵入:安裝數(shù)據(jù)庫.

7. 選擇 BodyText 屬性并鍵入:安裝程序?qū)⒃谀繕?biāo)機器上安裝數(shù)據(jù)庫

8. 選擇 Edit1Label 屬性并鍵入:數(shù)據(jù)庫名稱:

9. 選擇 Edit1Property 屬性并鍵入 CUSTOMTEXTA1

10. 選擇 Edit1Value 屬性并鍵入:dbservers

11. 選擇 Edit2Label 屬性并鍵入:服務(wù)器名:

12. 選擇 Edit2Property 屬性并鍵入 CUSTOMTEXTA2

13. 選擇 Edit2Value 屬性并鍵入:(local)

14. 選擇 Edit3Label 屬性并鍵入:用戶名:

15. 選擇 Edit3Value 屬性并鍵入:sa

16. 選擇 Edit3Property 屬性并鍵入 CUSTOMTEXTA3

17. 選擇 Edit4Label 屬性并鍵入:密碼:

18. 選擇 Edit4Property 屬性并鍵入 CUSTOMTEXTA4

19. 選擇 Edit2Visible、Edit3Visible 和 Edit4Visible 屬性,并將它們設(shè)置為 true

VB.NET安裝部署五).創(chuàng)建自定義操作

1. 在解決方案資源管理器中選擇“setup1”項目。在“視圖”菜單上指向“編輯器”,然后選擇“自定義操作”。

2. 在自定義操作編輯器中選擇“安裝”節(jié)點。在“操作”菜單上,選擇“添加自定義操作”。

3. 在“選擇項目中的項”對話框中,雙擊“應(yīng)用程序文件夾”。

4. 選擇“主輸出來自 installDB(活動)”項,然后單擊“確定”關(guān)閉對話框。

5. 在“屬性”窗口中,選擇 CustomActionData 屬性并鍵入“/dbname=[CUSTOMTEXTA1] /server=[CUSTOMTEXTA2] /user=[CUSTOMTEXTA3] /pwd=[CUSTOMTEXTA4] /targetdir="[TARGETDIR]/"”。

附:/targetdir="[TARGETDIR]/"是安裝后的目標(biāo)路徑,為了在installDB類中獲得安裝后的路徑,我們設(shè)置此參數(shù)。

VB.NET安裝部署六).添加文件

1. 將SQL Server備份成文件DB.dat添加到“setup1”項目(在企業(yè)管理器中右擊數(shù)據(jù)庫-所有工作-備份數(shù)據(jù)庫,備份成一個文件,取名為DB.dat)

2. 將安裝文件LisenceFile.rtf添加到“setup1”項目

3. 在用戶界面編輯器中,選擇許可協(xié)議,設(shè)置LisenceFile屬性為LisenceFile.rtf文件

4.一般會自動將依賴項添加到“檢測到的依賴項”,如果沒有,那么我們要手動將其加入步驟5)

Crystal_Managed2003.msm

(如果有水晶報表)

dotnetfxredist_x86.msm

(.net一定是必須的)

... (如果有引用其他的dll)

5.如果使用了水晶報表,手動加入要包含的文件:項目--添加--合并模塊(添加你的程序文件) (包括dotNetFramework和MDAC27),位于:C:/Program Files/Common Files/Merge Modules/ 下,*為必要的

具體功能如下:

(托管組件 MSM 處理所有托管組件的分發(fā),其中包括 Windows 窗體查看器、Web 窗體查看器和所有 Crystal Decisions 命名空間)

* Crystal_Managed2003.msm

Crystal_Managed2003_chs.msm

(對于使報表運行所需的所有其他文件,由數(shù)據(jù)庫訪問 MSM 處理其分發(fā)。其中包括數(shù)據(jù)庫、導(dǎo)出和圖表驅(qū)動程序。)

* Crystal_Database_access2003.msm

Crystal_Database_access2003_chs.msm

(KeyCode MSM 處理 Crystal Decisions 密鑰號碼的安裝,注意是添加合并模塊,否則沒有“MergeMouduleProperties”屬性)

* Crystal_regwiz2003.msm

(如果報表文件使用了 ADO.NET 的 dataset 數(shù)據(jù)集對象,那么 VC_User_CRT71_RTL_X86_---.msm 和 VC_User_STL71_RTL_X86_---.msm 模塊也必須包含在安裝工程中。而且這兩個模塊的文件安裝屬性的"Module Retargetable Folder"項必須修改成為系統(tǒng)目錄)

VC_User_CRT71_RTL_X86_---.msm VC_User_STL71_RTL_X86_---.msm

(很多人經(jīng)常出現(xiàn)查詢錯誤,不妨加上這個)

6.打開解決方案--右鍵點擊Crystal_regwiz2003.msm的屬性,在“MergeMouduleProperties”里的“License Key”填入:AAP5GKS0000GDE100DS(這個是你生成Crystal Report是用到的注冊號的密碼?。?/p>

VB.NET安裝部署七).打包時加入卸載功能:

方法一:

1.在打包項目中添加文件msiexec.exe(一般可在c:/windows/system32/下找到)

2.在文件系統(tǒng)視圖中選擇應(yīng)用程序文件夾,在msiexec.exe上按右鍵,選擇創(chuàng)建快捷方式,重命名快捷方式為"卸載".

3.更改此快捷方式的Arguments 為"/x {產(chǎn)品id}",產(chǎn)品id的值為打包項目的ProductCode屬性值.

方法二:(推薦)

1.先生成安裝包,記下ProductCode(選擇解決方案資源管理器根目錄如setup1,再查看屬性標(biāo)簽,不是右鍵中的屬性),下面要用到

2.用VS.net建立一個新的控制臺程序uninst.exe文件

'power by: landlordh

'for 2000,xp,2003

Module uninstall

Sub Main()

Dim myProcess As Process =

New Process

If System.Environment.OSVersion.

ToString.IndexOf("NT 5") Then

myProcess.Start("msiexec", "/X

{2B65D4A9-C146-4808-AB4B-321F

B0779559}") '改為自己的ProductCode

End If

myProcess.Close()

End Sub

End Module

3.將控制臺程序BIN目錄的exe文件加入到打包程序文件中,在程序組創(chuàng)建uninst.exe的快捷方式

VB.NET安裝部署八).打包時加入.net環(huán)境和MDAC功能:

把MS的PluginInstaller.msi插件裝上后,用vb.net的自帶的打包工具打包,就會自動把.net framework環(huán)境打進去,再下面的步驟進行設(shè)置,就可以把MDAC也打包.使用 Setup 項目安裝 MDAC

1.確保 Visual Studio .NET 框架引導(dǎo)程序插件已安裝。

2.在 Solution Explorer 中選擇 Setup 項目。從 View 菜單指向 Editor,并選擇 Launch Conditions(啟動條件)。

3.選擇 Requirements on Target Machine(搜索目標(biāo)計算機) 節(jié)點。從 Action 菜單,選擇 Add Registry Launch Condition(添加注冊表搜索)。

4.選擇 Search for RegistryEntry1 節(jié)點。在 Properties 窗口中,選擇 RegKey 屬性,并鍵入 Software/Microsoft/DataAccess。

5.選擇 Root 屬性,并選擇 vsdrrHKLM。

6.選擇 Value 屬性,并鍵入 FullInstallVer。

7.選擇 Property 屬性,并鍵入 MDACSEARCH。

8.在 Launch Conditions Editor(啟動條件) 中,添加Condition1 節(jié)點。選擇 Condition1 節(jié)點,在 Properties 窗口中,選擇 Condition 屬性,并選擇 MDACSEARCH="2.6"。

9.在 Solution Explorer 中選擇 Setup 項目。在 Project 菜單上,選擇 Properties。

10.將 Bootstrapper 屬性設(shè)置為 Windows Installer Bootstrapper(Windows 安裝引導(dǎo)程序)。

vb.net做安裝包,安裝后自動運行程序

1 新建安裝部署項目

打開VS2005,點擊新建項目,選擇:其他項目類型-安裝與部署-安裝向?qū)?安裝項目),然后點擊確定。

2 安裝向?qū)?/p>

關(guān)閉后打開安裝向?qū)?,點擊下一步,或者直接點擊完成。

3 開始制作

安裝向?qū)瓿珊蠹纯蛇M入項目文件夾:

雙擊"應(yīng)用程序文件夾"在右邊的空白處右擊,選擇添加-文件,將你的做的應(yīng)用程序的可執(zhí)行文件和相應(yīng)的類庫和組件添加進來。然后右擊你的文件,創(chuàng)建快捷方式,然后把快捷方式分別復(fù)制或剪切到左邊的"用戶的'程序'菜單"和"用戶桌面"中。這樣安裝程序安裝完成后會在 "開始-所有程序"和"桌面"上生成程序的快捷方式。也可以直接在"用戶的'程序'菜單"和"用戶桌面"相應(yīng)目錄下新建快捷方式,然后定位到你的文件。

然后右擊左邊的"應(yīng)用程序文件夾"打開屬性對話框:將屬性中的"DefaultLocation"的路徑中的"[Manufacturer]"去掉,不然的話做好的安裝程序默認安裝目錄會是"C:\Program Files\你的用戶名\安裝解決方案名稱";

然后打開解決方案管理器,右擊你的解決方案名稱,選擇屬性:打開的屬性頁中,選擇"系統(tǒng)必備", 在打開的系統(tǒng)必備頁中,在"指定系統(tǒng)必備安裝組件的位置"中選中如下選擇項:從與我的應(yīng)用程序相同的位置下載系統(tǒng)必備組件。選上以后,在生成的安裝文件包中包含.NetFramework組件 。好了,這樣就完成99%了,然后點擊"生成-生成解決方案",生成成功!

我以前參考過的,希望對你有幫助。

安裝完成后自動啟動程序

1.新建一個空的項目InstallCompenent,步驟為:解決方案-右鍵添加-新建項目-選擇"空項目"-輸入名稱"InstallCompenent"-確定,完成項目的添加.

2.在InstallCompenent項目中右鍵-添加-新建項-選擇安裝程序類-輸入名稱"Installer",完成installer類的添加.

修改代碼為:

/// summary

/// 功能是做安裝項目主項目輸出

/// 實現(xiàn)安裝過程中的一些操作

/// 如:安裝完成后啟動項目

/// /summary

[RunInstaller(true)]

public partial class Installer : Installer

{

/// summary

/// 應(yīng)用程序入口

/// /summary

public static void Main()

{

}

/// summary

/// 構(gòu)造函數(shù)

/// /summary

public ECSuitsInstaller()

{

InitializeComponent();

}

/// summary

/// 重寫安裝完成后函數(shù)

/// 實現(xiàn)安裝完成后自動啟動已安裝的程序

/// /summary

/// param name="savedState"/param

protected override void OnAfterInstall(IDictionary savedState)

{

base.OnAfterInstall(savedState);

Assembly asm = Assembly.GetExecutingAssembly();

string path = asm.Location.Remove(asm.Location.LastIndexOf("\\")) + "\\";

System.Diagnostics.Process.Start(path + "\\ECSuits.exe");

}

/// summary

/// 重寫安裝過程方法

/// /summary

/// param name="stateSaver"/param

public override void Install(IDictionary stateSaver)

{

base.Install(stateSaver);

}

/// summary

/// 重寫安裝之前方法

/// /summary

/// param name="savedState"/param

protected override void OnBeforeInstall(IDictionary savedState)

{

base.OnBeforeInstall(savedState);

}

/// summary

/// 重寫卸載方法

/// /summary

/// param name="savedState"/param

public override void Uninstall(IDictionary savedState)

{

base.Uninstall(savedState);

}

/// summary

/// 重寫回滾方法

/// /summary

/// param name="savedState"/param

public override void Rollback(IDictionary savedState)

{

base.Rollback(savedState);

}

}

3.在安裝項目中右鍵-添加項目輸出-選擇"項目"-InstallCompenent.

完成主輸出項目的添加.

4.打開自定義操作編輯器,在安裝-右鍵-添加自定義操作-選擇"應(yīng)用程序文件夾"-選擇"主輸出來自InstallCompenent",完成添加.

VB.NET 2008 怎么給軟件打包?能不能做成一個exe文件?

直接把代碼編譯生成即可,把Bin文件夾下面的幾個文件拷貝過去就可以了。客戶機需要安裝dot net framwork 3.5

打包過程:

一).創(chuàng)建部署項目

1. 在“文件”菜單上指向“添加項目”,然后選擇“新建項目”。

2. 在“添加新項目”對話框中,選擇“項目類型”窗格中的“安裝和部署項目”,然后選擇“模板”窗格中的“安裝項目”。在“名稱”框中鍵入 setup1。

3. 單擊“確定”關(guān)閉對話框。

4. 項目被添加到解決方案資源管理器中,并且文件系統(tǒng)編輯器打開。

5. 在“屬性”窗口中,選擇 ProductName 屬性,并鍵入 信息管理系統(tǒng) 。

二).將 主程序 項目的輸出添加到部署項目中

1. 在“文件系統(tǒng)編輯器”中,選擇“應(yīng)用程序文件夾”。在“操作”菜單上,指向“添加”,然后選擇“項目輸出”。

2. 在“添加項目輸出組”對話框中,選擇“項目”下拉列表中的“你的程序”。

3. 單擊“確定”關(guān)閉對話框。

4. 從列表中選擇“主輸出”和“內(nèi)容文件”組,然后單擊“確定”。

三).創(chuàng)建安裝程序類

1. 在“文件”菜單上指向“新建”,然后選擇“項目”。

2. 在“新建項目”對話框中,選擇“項目類型”窗格中的“Visual Basic 項目”,然后選擇“模板”窗格中的“類庫”。在“名稱”框中鍵入 installDB。

3. 單擊“打開”關(guān)閉對話框。

4. 從“項目”菜單中選擇“添加新項”。

5. 在“添加新項”對話框中選擇“安裝程序類”。在“名稱”框中鍵入 installDB。

6. 單擊“確定”關(guān)閉對話框。

7. 詳細代碼附后。

四).創(chuàng)建自定義安裝對話框

1. 在解決方案資源管理器中選擇“setup1”項目。在“視圖”菜單上指向“編輯器”,然后選擇“用戶界面”。

2. 在用戶界面編輯器中,選擇“安裝”下的“啟動”節(jié)點。在“操作”菜單上,選擇“添加對話框”。

3. 在“添加對話框”對話框中,選擇“許可協(xié)議”對話框,然后單擊“確定”關(guān)閉對話框。

4. 在“添加對話框”對話框中,選擇“文本框 (A)”對話框,然后單擊“確定”關(guān)閉對話框。

5. 在“操作”菜單上,選擇“上移”。重復(fù)此步驟,直到“文本框 (A)”對話框位于“安裝文件夾”節(jié)點之上。

6. 在“屬性”窗口中,選擇 BannerText 屬性并鍵入:安裝數(shù)據(jù)庫.

7. 選擇 BodyText 屬性并鍵入:安裝程序?qū)⒃谀繕?biāo)機器上安裝數(shù)據(jù)庫

8. 選擇 Edit1Label 屬性并鍵入:數(shù)據(jù)庫名稱:

9. 選擇 Edit1Property 屬性并鍵入 CUSTOMTEXTA1

10. 選擇 Edit1Value 屬性并鍵入:dbservers

11. 選擇 Edit2Label 屬性并鍵入:服務(wù)器名:

12. 選擇 Edit2Property 屬性并鍵入 CUSTOMTEXTA2

13. 選擇 Edit2Value 屬性并鍵入:(local)

14. 選擇 Edit3Label 屬性并鍵入:用戶名:

15. 選擇 Edit3Value 屬性并鍵入:sa

16. 選擇 Edit3Property 屬性并鍵入 CUSTOMTEXTA3

17. 選擇 Edit4Label 屬性并鍵入:密碼:

18. 選擇 Edit4Property 屬性并鍵入 CUSTOMTEXTA4

19. 選擇 Edit2Visible、Edit3Visible 和 Edit4Visible 屬性,并將它們設(shè)置為 true

五).創(chuàng)建自定義操作

1. 在解決方案資源管理器中選擇“setup1”項目。在“視圖”菜單上指向“編輯器”,然后選擇“自定義操作”。

2. 在自定義操作編輯器中選擇“安裝”節(jié)點。在“操作”菜單上,選擇“添加自定義操作”。

3. 在“選擇項目中的項”對話框中,雙擊“應(yīng)用程序文件夾”。

4. 選擇“主輸出來自 installDB(活動)”項,然后單擊“確定”關(guān)閉對話框。

5. 在“屬性”窗口中,選擇 CustomActionData 屬性并鍵入“/dbname=[CUSTOMTEXTA1] /server=[CUSTOMTEXTA2] /user=[CUSTOMTEXTA3] /pwd=[CUSTOMTEXTA4] /targetdir="[TARGETDIR]\"”。

附:/targetdir="[TARGETDIR]\"是安裝后的目標(biāo)路徑,為了在installDB類中獲得安裝后的路徑,我們設(shè)置此參數(shù)。

六).添加文件

1. 將SQL Server備份成文件DB.dat添加到“setup1”項目(在企業(yè)管理器中右擊數(shù)據(jù)庫-所有工作-備份數(shù)據(jù)庫,備份成一個文件,取名為DB.dat)

2. 將安裝文件LisenceFile.rtf添加到“setup1”項目

3. 在用戶界面編輯器中,選擇許可協(xié)議,設(shè)置LisenceFile屬性為LisenceFile.rtf文件

4.一般會自動將依賴項添加到“檢測到的依賴項”,如果沒有,那么我們要手動將其加入步驟5)

Crystal_Managed2003.msm (如果有水晶報表)

dotnetfxredist_x86.msm (.net一定是必須的)

... (如果有引用其他的dll)

5. 如果使用了水晶報表,手動加入要包含的文件:項目--添加--合并模塊(添加你的程序文件) (包括dotNetFramework和MDAC27),位于:C:\Program Files\Common Files\Merge Modules\ 下,*為必要的

具體功能如下:

(托管組件 MSM 處理所有托管組件的分發(fā),其中包括 Windows 窗體查看器、Web 窗體查看器和所有 Crystal Decisions 命名空間)

* Crystal_Managed2003.msm

Crystal_Managed2003_chs.msm

(對于使報表運行所需的所有其他文件,由數(shù)據(jù)庫訪問 MSM 處理其分發(fā)。其中包括數(shù)據(jù)庫、導(dǎo)出和圖表驅(qū)動程序。)

* Crystal_Database_access2003.msm

Crystal_Database_access2003_chs.msm

(KeyCode MSM 處理 Crystal Decisions 密鑰號碼的安裝,注意是添加合并模塊,否則沒有“MergeMouduleProperties”屬性)

* Crystal_regwiz2003.msm

(如果報表文件使用了 ADO.NET 的 dataset 數(shù)據(jù)集對象,那么 VC_User_CRT71_RTL_X86_---.msm 和 VC_User_STL71_RTL_X86_---.msm 模塊也必須包含在安裝工程中。而且這兩個模塊的文件安裝屬性的"Module Retargetable Folder"項必須修改成為系統(tǒng)目錄)

VC_User_CRT71_RTL_X86_---.msm

VC_User_STL71_RTL_X86_---.msm

(很多人經(jīng)常出現(xiàn)查詢錯誤,不妨加上這個)

6. 打開解決方案--右鍵點擊Crystal_regwiz2003.msm的屬性,在“MergeMouduleProperties”里的 “License Key”填入:AAP5GKS0000GDE100DS(這個是你生成Crystal Report是用到的注冊號的密碼?。?/p>

七).打包時加入卸載功能:

方法一:

1.在打包項目中添加文件msiexec.exe(一般可在c:\windows\system32\下找到)

2.在文件系統(tǒng)視圖中選擇應(yīng)用程序文件夾,在msiexec.exe上按右鍵,選擇創(chuàng)建快捷方式,重命名快捷方式為"卸載".

3.更改此快捷方式的Arguments 為"/x {產(chǎn)品id}",產(chǎn)品id的值為打包項目的ProductCode屬性值.

方法二:(推薦)

1.先生成安裝包,記下ProductCode(選擇解決方案資源管理器根目錄如setup1,再查看屬性標(biāo)簽,不是右鍵中的屬性),下面要用到

2.用VS.net建立一個新的控制臺程序uninst.exe文件

'power by: landlordh

'for 2000,xp,2003

Module uninstall

Sub Main()

Dim myProcess As Process = New Process

If System.Environment.OSVersion.ToString.IndexOf("NT 5") Then

myProcess.Start("msiexec", "/X{2B65D4A9-C146-4808-AB4B-321FB0779559}") '改為自己的ProductCode

End If

myProcess.Close()

End Sub

End Module

3.將控制臺程序BIN目錄的exe文件加入到打包程序文件中,在程序組創(chuàng)建uninst.exe的快捷方式

八).打包時加入.net環(huán)境和MDAC功能:

把MS的PluginInstaller.msi插件裝上后,用vb.net的自帶的打包工具打包,就會自動把

.net framework環(huán)境打進去,再下面的步驟進行設(shè)置,就可以把MDAC也打包.

使用 Setup 項目安裝 MDAC

1.確保 Visual Studio .NET 框架引導(dǎo)程序插件已安裝。

2.在 Solution Explorer 中選擇 Setup 項目。

從 View 菜單指向 Editor,并選擇 Launch Conditions(啟動條件)。

3.選擇 Requirements on Target Machine(搜索目標(biāo)計算機) 節(jié)點。

從 Action 菜單,選擇 Add Registry Launch Condition(添加注冊表搜索)。

4.選擇 Search for RegistryEntry1 節(jié)點。在 Properties 窗口中,

選擇 RegKey 屬性,并鍵入 Software\Microsoft\DataAccess。

5.選擇 Root 屬性,并選擇 vsdrrHKLM。

6.選擇 Value 屬性,并鍵入 FullInstallVer。

7.選擇 Property 屬性,并鍵入 MDACSEARCH。

8.在 Launch Conditions Editor(啟動條件) 中,添加Condition1 節(jié)點。

選擇 Condition1 節(jié)點,在 Properties 窗口中,選擇 Condition 屬性,并選擇 MDACSEARCH="2.6"。

9.在 Solution Explorer 中選擇 Setup 項目。在 Project 菜單上,選擇 Properties。

10.將 Bootstrapper 屬性設(shè)置為 Windows Installer Bootstrapper(Windows 安裝引導(dǎo)程序)。

附:

installdb.vb類,要添加引用 system.configuration.install.dll :

Imports System.ComponentModel

Imports System.Configuration.Install

RunInstaller(True) Public Class Installer1

Inherits System.Configuration.Install.Installer

#Region " 組件設(shè)計器生成的代碼 "

Public Sub New()

MyBase.New()

'該調(diào)用是組件設(shè)計器所必需的。

InitializeComponent()

'在 InitializeComponent() 調(diào)用之后添加任何初始化

End Sub

'Installer 重寫 dispose 以清理組件列表。

Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)

If disposing Then

If Not (components Is Nothing) Then

components.Dispose()

End If

End If

MyBase.Dispose(disposing)

End Sub

'組件設(shè)計器所必需的

Private components As System.ComponentModel.IContainer

'注意: 以下過程是組件設(shè)計器所必需的

'可以使用組件設(shè)計器來修改此過程。

'不要使用代碼編輯器來修改它。

System.Diagnostics.DebuggerStepThrough() Private Sub InitializeComponent()

components = New System.ComponentModel.Container

End Sub

#End Region

Public Overrides Sub Install(ByVal stateSaver As System.Collections.IDictionary)

MyBase.Install(stateSaver)

If Not InstallDB() Then

'失敗,反安裝

Me.Uninstall(stateSaver)

Exit Sub

End If

DeleteFile(String.Format("{0}DB.dat", Me.Context.Parameters.Item("targetdir")))

End Sub

Public Overrides Sub Uninstall(ByVal stateSaver As System.Collections.IDictionary)

'執(zhí)行反安裝

MyBase.Uninstall(stateSaver)

DeleteFile(String.Format("{0}DB.dat", Me.Context.Parameters.Item("targetdir")))

End Sub

Private Sub DeleteFile(ByVal paths As String)

'刪除指定的文件

Try

Dim delFile As New System.IO.FileInfo(paths)

If delFile.Exists Then

delFile.Delete()

End If

Catch ex As Exception

End Try

End Sub

Private Sub CreateSql(ByVal paths As String)

Dim File As System.IO.StreamWriter

Dim db As String = String.Format("{0}", Me.Context.Parameters.Item("dbname"))

Dim path As String = String.Format("{0}", Me.Context.Parameters.Item("targetdir"))

Try

Dim s As New System.Text.StringBuilder

s.Append("use master" vbCrLf)

s.Append("" vbCrLf)

s.Append("if not exists (select * from sysdatabases where name='" db "')" vbCrLf)

s.Append(" BEGIN" vbCrLf)

s.Append(" create database " db vbCrLf)

s.Append(" END" vbCrLf)

s.Append("" vbCrLf)

s.Append("if exists (select * from sysdevices where name='DBdisk')" vbCrLf)

s.Append(" BEGIN" vbCrLf)

s.Append(" EXEC sp_dropdevice 'DBdisk'" vbCrLf)

s.Append(" END" vbCrLf)

s.Append("Else" vbCrLf)

s.Append(" BEGIN" vbCrLf)

s.Append(" EXEC sp_addumpdevice 'disk','DBdisk', '" path "DB.dat'" vbCrLf)

s.Append(" END" vbCrLf)

s.Append("" vbCrLf)

s.Append("restore database " db vbCrLf)

s.Append("from disk='" path "DB.dat'" vbCrLf)

s.Append("with replace")

File = New System.IO.StreamWriter(paths)

File.Write(s.ToString)

Catch ex As Exception

Finally

File.Close()

End Try

End Sub

Private Function InstallDB() As Boolean

'安裝數(shù)據(jù)庫,調(diào)用自動批處理。

Try

'創(chuàng)建臨時腳本

CreateSql(String.Format("{0}Mydb2000tp.sql", Me.Context.Parameters.Item("targetdir")))

'調(diào)用osql執(zhí)行腳本

Dim sqlProcess As New System.Diagnostics.Process

sqlProcess.StartInfo.FileName = "osql.exe"

sqlProcess.StartInfo.Arguments = String.Format(" -U {0} -P {1} -S {2} -i {3}Mydb2000tp.sql", Me.Context.Parameters.Item("user"), Me.Context.Parameters.Item("pwd"), Me.Context.Parameters.Item("server"), Me.Context.Parameters.Item("targetdir"))

sqlProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden

sqlProcess.Start()

sqlProcess.WaitForExit() '等待執(zhí)行

sqlProcess.Close()

'刪除腳本文件

DeleteFile(String.Format("{0}Mydb2000tp.sql", Me.Context.Parameters.Item("targetdir")))

Return True

Catch ex As Exception

Return False

End Try

End Function

End Class

網(wǎng)上的另外一種installdb.vb類

installdb.vb類,要添加引用 system.configuration.install.dll :

using System;

using System.Collections;

using System.ComponentModel;

using System.Configuration.Install;

using System.Reflection;

using System.IO;

using System.Data;

using System.Data.SqlClient;

namespace install

{

/// summary

/// Installer1 的摘要說明。

/// /summary

[RunInstaller(true)]

public class Installer1 : System.Configuration.Install.Installer

{

/// summary

/// 必需的設(shè)計器變量。

/// /summary

private System.ComponentModel.Container components = null;

public Installer1()

{

// 該調(diào)用是設(shè)計器所必需的。

InitializeComponent();

// TODO: 在 InitializeComponent 調(diào)用后添加任何初始化

}

/// summary

/// 清理所有正在使用的資源。

/// /summary

protected override void Dispose( bool disposing )

{

if( disposing )

{

if(components != null)

{

components.Dispose();

}

}

base.Dispose( disposing );

}

#region 組件設(shè)計器生成的代碼

/// summary

/// 設(shè)計器支持所需的方法 - 不要使用代碼編輯器修改

/// 此方法的內(nèi)容。

/// /summary

private void InitializeComponent()

{

components = new System.ComponentModel.Container();

}

#endregion

private string GetSql(string Name)

{

// //調(diào)用osql執(zhí)行腳本

//

// System.Diagnostics.Process sqlProcess = new System.Diagnostics.Process();

//

// sqlProcess.StartInfo.FileName = "osql.exe";

//

// sqlProcess.StartInfo.Arguments = String.Format(" -U {0} -P {1} -d {2} -i {3}db.sql", this.Context.Parameters["user"], this.Context.Parameters["pwd"],"master", this.Context.Parameters["targetdir"]);

//

// sqlProcess.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;

//

// sqlProcess.Start();

//

// sqlProcess.WaitForExit() ;//等待執(zhí)行

//

// sqlProcess.Close();

try

{

// Assembly Asm = Assembly.GetExecutingAssembly();

// System.IO.FileInfo FileInfo = new System.IO.FileInfo(Asm.Location);

// string path=FileInfo.DirectoryName+@"\"+Name;

string path=this.Context.Parameters["targetdir"]+Name;

FileStream fs=new FileStream(path,FileMode.Open,FileAccess.Read,FileShare.Read);

StreamReader reader = new StreamReader(fs,System.Text.Encoding.Default);

//System.Text.Encoding.ASCII;

return reader.ReadToEnd();

}

catch (Exception ex)

{

Console.Write("In GetSql:"+ex.Message);

throw ex;

}

}

private void ExecuteSql(string DataBaseName,string Sql)

{

SqlConnection sqlConnection1=new SqlConnection();

sqlConnection1.ConnectionString =string.Format("server={0}; user id={1}; password={2}; Database=master",this.Context.Parameters["server"],this.Context.Parameters["user"],this.Context.Parameters["pwd"]);

System.Data.SqlClient.SqlCommand Command = new System.Data.SqlClient.SqlCommand(Sql,sqlConnection1);

try

{

Command.Connection.Open();

Command.Connection.ChangeDatabase(DataBaseName);

Command.ExecuteNonQuery();

}

catch(Exception ex)

{

Console.Write("In exception handler :"+ex.Message);

}

finally

{

Command.Connection.Close();

}

}

protected void AddDBTable(string strDBName)

{

try

{

ExecuteSql("master","Create DATABASE "+ strDBName);

ExecuteSql(strDBName,GetSql("sql.txt"));

ExecuteSql("master","exec sp_addlogin 'myoamaster','myoamaster','"+strDBName+"',Null,Null");

ExecuteSql(strDBName,"EXEC sp_grantdbaccess 'myoamaster', 'myoamaster'");

ExecuteSql(strDBName,"exec sp_addrolemember 'db_owner','myoamaster'");

}

catch(Exception ex)

{

Console.Write("In exception handler :"+ex.Message);

}

}

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

{

base.Install(stateSaver);

AddDBTable(this.Context.Parameters["dbname"]);

}

}

}

這里有個sql.txt是數(shù)據(jù)庫的sql腳本,當(dāng)然可以調(diào)用osql來執(zhí)行sql腳本,其實是一樣的。

打包的時候必須把sql.txt文件加進來,否則不會執(zhí)行。

如果你想附加數(shù)據(jù)庫的mdf文件和ldf文件,用下面這段程序:

private void CreateDataBase(string strSql,string DataName,string strMdf,string strLdf)

{

String str;

SqlConnection myConn = new SqlConnection (strSql);

//EXEC sp_detach_db @dbname = 'BX_FreightMileage_2'//需要先將數(shù)據(jù)庫分離出來

str = "EXEC sp_attach_db @dbname = '"+ DataName +"', @filename1 = '"+ strMdf +"',@filename2='"+strLdf+"'";

SqlCommand myCommand = new SqlCommand(str, myConn);

myConn.Open();

myCommand.ExecuteNonQuery();

myConn.Close();

}

當(dāng)然打包的時候也要把這兩個數(shù)據(jù)庫文件也加進來。

vb.net怎樣打包?

打包的具體操作步驟:

1)新建“安裝和部署項目”-- “安裝向?qū)А?/p>

2)選擇菜單中 項目-- 添加-- 文件(這里選“創(chuàng)建用于windows應(yīng)用程序.exe你的數(shù)據(jù)庫文件”)-- 打開

3)一般會自動將依賴項添加到“檢測到的依賴項”,如果沒有,那么我們要手動將其加入4)

Crystal_Managed2003.msm (如果有水晶報表)

dotnetfxredist_x86.msm (.net一定是必須的)

... (如果有引用其他的dll)

4)手動加入要包含的文件:項目-- 添加-- 合并模塊(添加你的程序文件) (包括dotNetFramework和MDAC27)

位于:C:\Program Files\Common Files\Merge Modules\ 下

具體功能如下:

(托管組件 MSM 處理所有托管組件的分發(fā),其中包括 Windows 窗體查看器、Web 窗體查看器和所有 Crystal Decisions 命名空間)

* Crystal_Managed2003.msm、

Crystal_Managed2003_chs.msm、

(對于使報表運行所需的所有其他文件,由數(shù)據(jù)庫訪問 MSM 處理其分發(fā)。其中包括數(shù)據(jù)庫、導(dǎo)出和圖表驅(qū)動程序。)

* Crystal_Database_access2003.msm、

Crystal_Database_access2003_chs.msm、

(KeyCode MSM 處理 Crystal Decisions 密鑰號碼的安裝,注意是添加合并模塊,否則沒有“MergeMouduleProperties”屬性)

* Crystal_regwiz2003.msm、

(是vc的運行庫,估計是Crystal Report或涉及到的某些程序是用vc寫的,所以需要它?。?/p>

VC_User_CRT71_RTL_X86_---.msm、

VC_User_STL71_RTL_X86_---.msm、

5)打開解決方案-- 右鍵點擊Crystal_regwiz2003.msm的屬性,在“MergeMouduleProperties”里的“License Key”填入:AAP5GKS0000GDE100DS(這個是你生成Crystal Report是用到的注冊號的密碼?。?/p>

6)生成解決方案(或直接按Ctrl+Shift+B)

至此整個分發(fā)程序已經(jīng)做好,再把剛才做的那個安裝程序雙擊一下……

-----------------------------------------------------------------------

打包時加入卸載功能:

方法一:

1.在打包項目中添加文件msiexec.exe(一般可在c:\windows\system32\下找到)

2.在文件系統(tǒng)視圖中選擇應(yīng)用程序文件夾,在msiexec.exe上按右鍵,選擇創(chuàng)建快捷方式,重命名快捷方式為 "卸載 ".

3.更改此快捷方式的Arguments 為 "/x {產(chǎn)品id} ",產(chǎn)品id的值為打包項目的ProductCode屬性值.

方法二:(推薦)

1.先生成安裝包,記下ProductCode,下面要用到

2.用VS.net建立一個新的控制臺程序uninst.exe文件

'power by: landlordh

'for 2000,xp,2003

Module uninstall

Sub Main()

Dim myProcess As Process = New Process

If System.Environment.OSVersion.ToString.IndexOf( "NT 5 ") Then

myProcess.Start( "msiexec ", "/X{2B65D4A9-C146-4808-AB4B-321FB0779559} ") '改為自己的ProductCode

End If

myProcess.Close()

End Sub

End Module

3.將控制臺程序BIN目錄的exe文件加入到打包程序文件中,在程序組創(chuàng)建uninst.exe的快捷方式

如果裝個ms的控件的話,則直接把framework和msac打在包里。

網(wǎng)站名稱:vb.net包,vbnet包含禁則文字
網(wǎng)頁路徑:http://aaarwkj.com/article10/dssjogo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計、外貿(mào)建站、用戶體驗網(wǎng)站設(shè)計公司、網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管
国产精品黑丝美女91| 中文字幕四虎在线观看| 欧美日韩综合人妻丝袜偷拍| 美女高潮啪啪啪91| 亚洲字幕中文在线乱码mv| 在线播放欧美视频91| 91免费看片在线观看| 91精品一久久香蕉国产| 亚洲免费视频一二三区| 水蜜桃在线观看一区二区国产| 97精品少妇一区二区三区| 国产激情在线四五区观看| 麻豆精东传媒一区二区| 亚洲福利一区二区在线| 深夜视频在线观看成人| 最新日本欧美一区二区| 9热在线视频精品这里只有| 欧美一日韩一级片免费看| 日本不卡视频二区三区| 日本加勒比系列在线播放| 国产av蜜臀一区二区三区| 久久精品久久久精品| 国产精品麻豆久久av| 日本欧美国产污黄在线观看| 精品一区二区三区高清| 亚洲一区二区三区国色天香| 久久精品国产视频在热| 成年网站在线91九色| 国产白浆一区二区视频| 国产欧美日韩精品三级| 一区二区三区日韩专区| 日本高清精品视频免费| 欧美日韩国产另类一区二区| 欧美日韩国产精品一区二区在线观看| 亚洲一区二区三区精品日韩| 国产精品福利午夜在线观看| 精品三级一区二区三区| 白白色发布青青在线视频观看 | 精品一区二区三区在线观看国产| 国产欧美日韩精品久久久久久| 精品偷拍污视频一区二区|