vbnet打包Word格式.docx

上传人:b****6 文档编号:8544596 上传时间:2023-05-11 格式:DOCX 页数:9 大小:22.74KB
下载 相关 举报
vbnet打包Word格式.docx_第1页
第1页 / 共9页
vbnet打包Word格式.docx_第2页
第2页 / 共9页
vbnet打包Word格式.docx_第3页
第3页 / 共9页
vbnet打包Word格式.docx_第4页
第4页 / 共9页
vbnet打包Word格式.docx_第5页
第5页 / 共9页
vbnet打包Word格式.docx_第6页
第6页 / 共9页
vbnet打包Word格式.docx_第7页
第7页 / 共9页
vbnet打包Word格式.docx_第8页
第8页 / 共9页
vbnet打包Word格式.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

vbnet打包Word格式.docx

《vbnet打包Word格式.docx》由会员分享,可在线阅读,更多相关《vbnet打包Word格式.docx(9页珍藏版)》请在冰点文库上搜索。

vbnet打包Word格式.docx

在“添加新项”对话框中选择“安装程序类”。

6. 

7. 

详细代码附后。

四).创建自定义安装对话框

在解决方案资源管理器中选择“setup1”项目。

在“视图”菜单上指向“编辑器”,然后选择“用户界面”。

在用户界面编辑器中,选择“安装”下的“启动”节点。

在“操作”菜单上,选择“添加对话框”。

在“添加对话框”对话框中,选择“许可协议”对话框,然后单击“确定”关闭对话框。

在“添加对话框”对话框中,选择“文本框(A)”对话框,然后单击“确定”关闭对话框。

在“操作”菜单上,选择“上移”。

重复此步骤,直到“文本框(A)”对话框位于“安装文件夹”节点之上。

在“属性”窗口中,选择BannerText属性并键入:

安装数据库.

选择BodyText属性并键入:

安装程序将在目标机器上安装数据库

8. 

选择Edit1Label属性并键入:

数据库名称:

9. 

选择Edit1Property属性并键入CUSTOMTEXTA1

10. 

选择Edit1Value属性并键入:

dbservers

11. 

选择Edit2Label属性并键入:

服务器名:

12. 

选择Edit2Property属性并键入CUSTOMTEXTA2

13. 

选择Edit2Value属性并键入:

(local)

14. 

选择Edit3Label属性并键入:

用户名:

15. 

选择Edit3Value属性并键入:

sa

16. 

选择Edit3Property属性并键入CUSTOMTEXTA3

17. 

选择Edit4Label属性并键入:

密码:

18. 

选择Edit4Property属性并键入CUSTOMTEXTA4

19. 

选择Edit2Visible、Edit3Visible和Edit4Visible属性,并将它们设置为true

五).创建自定义操作

在“视图”菜单上指向“编辑器”,然后选择“自定义操作”。

在自定义操作编辑器中选择“安装”节点。

在“操作”菜单上,选择“添加自定义操作”。

在“选择项目中的项”对话框中,双击“应用程序文件夹”。

选择“主输出来自installDB(活动)”项,然后单击“确定”关闭对话框。

在“属性”窗口中,选择CustomActionData属性并键入“/dbname=[CUSTOMTEXTA1]/server=[CUSTOMTEXTA2]/user=[CUSTOMTEXTA3]/pwd=[CUSTOMTEXTA4]/targetdir="

[TARGETDIR]\"

”。

附:

/targetdir="

是安装后的目标路径,为了在installDB类中获得安装后的路径,我们设置此参数。

六).添加文件

将SQLServer备份成文件DB.dat添加到“setup1”项目(在企业管理器中右击数据库->

所有工作->

备份数据库,备份成一个文件,取名为DB.dat)

将安装文件LisenceFile.rtf添加到“setup1”项目

在用户界面编辑器中,选择许可协议,设置LisenceFile属性为LisenceFile.rtf文件

4.一般会自动将依赖项添加到“检测到的依赖项”,如果没有,那么我们要手动将其加入步骤5)

Crystal_Managed2003.msm 

(如果有水晶报表)

dotnetfxredist_x86.msm 

(.net一定是必须的)

... 

(如果有引用其他的dll)

5.如果使用了水晶报表,手动加入要包含的文件:

项目-->

添加-->

合并模块(添加你的程序文件)(包括dotNetFramework和MDAC27),位于:

C:

\ProgramFiles\CommonFiles\MergeModules\下,*为必要的

具体功能如下:

(托管组件MSM处理所有托管组件的分发,其中包括Windows窗体查看器、Web窗体查看器和所有CrystalDecisions命名空间)

*Crystal_Managed2003.msm

Crystal_Managed2003_chs.msm

(对于使报表运行所需的所有其他文件,由数据库访问MSM处理其分发。

其中包括数据库、导出和图表驱动程序。

*Crystal_Database_access2003.msm

Crystal_Database_access2003_chs.msm

(KeyCodeMSM处理CrystalDecisions密钥号码的安装,注意是添加合并模块,否则没有“MergeMouduleProperties”属性)

*Crystal_regwiz2003.msm

(如果报表文件使用了ADO.NET的dataset数据集对象,那么VC_User_CRT71_RTL_X86_---.msm和VC_User_STL71_RTL_X86_---.msm模块也必须包含在安装工程中。

而且这两个模块的文件安装属性的"

ModuleRetargetableFolder"

项必须修改成为系统目录)

 

VC_User_CRT71_RTL_X86_---.msm

VC_User_STL71_RTL_X86_---.msm

(很多人经常出现查询错误,不妨加上这个)

6.打开解决方案-->

右键点击Crystal_regwiz2003.msm的属性,在“MergeMouduleProperties”里的“LicenseKey”填入:

AAP5GKS0000GDE100DS(这个是你生成CrystalReport是用到的注册号的密码!

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

方法一:

1.在打包項目中添加文件msiexec.exe(一般可在c:

\windows\system32\下找到)

2.在文件系統視圖中選擇應用程序文件夾,在msiexec.exe上按右鍵,選擇創建快捷方式,重命名快捷方式為"

卸载"

.

3.更改此快捷方式的Arguments为"

/x{產品id}"

產品id的值為打包項目的ProductCode屬性值.

方法二:

(推荐)

1.先生成安装包,记下ProductCode(选择解决方案资源管理器根目录如setup1,再查看属性标签,不是右键中的属性),下面要用到

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

'

powerby:

landlordh

for2000,xp,2003

Moduleuninstall

SubMain()

DimmyProcessAsProcess=NewProcess

IfSystem.Environment.OSVersion.ToString.IndexOf("

NT5"

)Then

myProcess.Start("

msiexec"

"

/X{2B65D4A9-C146-4808-AB4B-321FB0779559}"

) 

'

改为自己的ProductCode

EndIf

myProcess.Close()

EndSub

EndModule

3.将控制台程序BIN目录的exe文件加入到打包程序文件中,在程序组创建uninst.exe的快捷方式

八).打包時加入.net环境和MDAC功能:

把MS的PluginInstaller.msi插件装上后,用的自带的打包工具打包,就会自动把

.netframework环境打进去,再下面的步骤进行设置,就可以把MDAC也打包.

使用Setup项目安装MDAC

1.确保VisualStudio.NET框架引导程序插件已安装。

2.在SolutionExplorer中选择Setup项目。

从View菜单指向Editor,并选择LaunchConditions(启动条件)。

3.选择RequirementsonTargetMachine(搜索目标计算机)节点。

从Action菜单,选择AddRegistryLaunchCondition(添加注册表搜索)。

4.选择SearchforRegistryEntry1节点。

在Properties窗口中,

选择RegKey属性,并键入Software\Microsoft\DataAccess。

5.选择Root属性,并选择vsdrrHKLM。

6.选择Value属性,并键入FullInstallVer。

7.选择Property属性,并键入MDACSEARCH。

8.在LaunchConditionsEditor(启动条件)中,添加Condition1节点。

选择Condition1节点,在Properties窗口中,选择Condition属性,并选择MDACSEARCH>

="

2.6"

9.在SolutionExplorer中选择Setup项目。

在Project菜单上,选择Properties。

10.将Bootstrapper属性设置为WindowsInstallerBootstrapper(Windows安装引导程序)。

附:

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

ImportsSystem.ComponentModel

ImportsSystem.Configuration.Install

<

RunInstaller(True)>

PublicClassInstaller1

InheritsSystem.Configuration.Install.Installer

#Region"

组件设计器生成的代码"

PublicSubNew()

MyBase.New()

该调用是组件设计器所必需的。

InitializeComponent()

在InitializeComponent()调用之后添加任何初始化

Installer重写dispose以清理组件列表。

ProtectedOverloadsOverridesSubDispose(ByValdisposingAsBoolean)

IfdisposingThen

IfNot(componentsIsNothing)Then

components.Dispose()

MyBase.Dispose(disposing)

组件设计器所必需的

PrivatecomponentsAsSystem.ComponentModel.IContainer

注意:

以下过程是组件设计器所必需的

可以使用组件设计器来修改此过程。

不要使用代码编辑器来修改它。

<

System.Diagnostics.DebuggerStepThrough()>

PrivateSubInitializeComponent()

components=NewSystem.ComponentModel.Container

#EndRegion

PublicOverridesSubInstall(ByValstateSaverAsSystem.Collections.IDictionary)

MyBase.Install(stateSaver)

IfNotInstallDB()Then

失败,反安装

Me.Uninstall(stateSaver)

ExitSub

DeleteFile(String.Format("

{0}DB.dat"

Me.Context.Parameters.Item("

targetdir"

)))

PublicOverridesSubUninstall(ByValstateSaverAsSystem.Collections.IDictionary)

执行反安装

MyBase.Uninstall(stateSaver)

PrivateSubDeleteFile(ByValpathsAsString)

删除指定的文件

Try

DimdelFileAsNewSystem.IO.FileInfo(paths)

IfdelFile.ExistsThen

delFile.Delete()

CatchexAsException

EndTry

PrivateSubCreateSql(ByValpathsAsString)

DimFileAsSystem.IO.StreamWriter

DimdbAsString=String.Format("

{0}"

dbname"

))

DimpathAsString=String.Format("

DimsAsNewSystem.Text.StringBuilder

s.Append("

usemaster"

&

vbCrLf)

"

ifnotexists(select*fromsysdatabaseswherename='

db&

"

)"

createdatabase"

ifexists(select*fromsysdeviceswherename='

DBdisk'

EXECsp_dropdevice'

Else"

EXECsp_addumpdevice'

disk'

'

'

path&

DB.dat'

restoredatabase"

fromdisk='

withreplace"

File=NewSystem.IO.StreamWriter(paths)

File.Write(s.ToString)

Finally

File.Close()

PrivateFunctionInstallDB()AsBoolean

安装数据库,调用自动批处理。

创建临时脚本

CreateSql(String.Format("

{0}Mydb2000tp.sql"

调用osql执行脚本

DimsqlProcessAsNewSystem.Diagnostics.Process

sqlProcess.StartInfo.FileName="

osql.exe"

sqlProcess.StartInfo.Arguments=String.Format("

-U"

-P"

{1}"

-S"

{2}"

-i"

{3}Mydb2000tp.sql"

user"

),Me.Context.Parameters.Item("

pwd"

server"

sqlProcess.StartInfo.WindowStyle=ProcessWindowStyle.Hidden

sqlProcess.Start()

sqlProcess.WaitForExit()'

等待执行

sqlProcess.Close()

删除脚本文件

ReturnTrue

ReturnFalse

EndFunction

EndClass

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2