vb.net生成安装 vbnet ui( 二 )


3. 在“选择项目中的项”对话框中,双击“应用程序文件夹” 。
4. 选择“主输出来自 installDB(活动)”项 , 然后单击“确定”关闭对话框 。
5. 在“属性”窗口中,选择 CustomActionData 属性并键入“/dbname=[CUSTOMTEXTA1] /server=[CUSTOMTEXTA2] /user=[CUSTOMTEXTA3] /pwd=[CUSTOMTEXTA4] /targetdir="[TARGETDIR]/"” 。
附:/targetdir="[TARGETDIR]/"是安装后的目标路径,为了在installDB类中获得安装后的路径 , 我们设置此参数 。
VB.NET安装部署六).添加文件
1. 将SQL Server备份成文件DB.dat添加到“setup1”项目(在企业管理器中右击数据库-所有工作-备份数据库,备份成一个文件,取名为DB.dat)
2. 将安装文件LisenceFile.rtf添加到“setup1”项目
3. 在用户界面编辑器中,选择许可协议 , 设置LisenceFile属性为LisenceFile.rtf文件
4.一般会自动将依赖项添加到“检测到的依赖项” , 如果没有 , 那么我们要手动将其加入步骤5)
Crystal_Managed2003.msm
(如果有水晶报表)
dotnetfxredist_x86.msm
(.net一定是必须的)
... (如果有引用其他的dll)
5.如果使用了水晶报表,手动加入要包含的文件:项目--添加--合并模块(添加你的程序文件) (包括dotNetFramework和MDAC27),位于:C:/Program Files/Common Files/Merge Modules/ 下,*为必要的
具体功能如下:
(托管组件 MSM 处理所有托管组件的分发,其中包括 Windows 窗体查看器、Web 窗体查看器和所有 Crystal Decisions 命名空间)
* Crystal_Managed2003.msm
Crystal_Managed2003_chs.msm
(对于使报表运行所需的所有其他文件 , 由数据库访问 MSM 处理其分发 。其中包括数据库、导出和图表驱动程序 。)
* Crystal_Database_access2003.msm
Crystal_Database_access2003_chs.msm
(KeyCode MSM 处理 Crystal Decisions 密钥号码的安装,注意是添加合并模块 , 否则没有“MergeMouduleProperties”属性)
* Crystal_regwiz2003.msm
(如果报表文件使用了 ADO.NET 的 dataset 数据集对象,那么 VC_User_CRT71_RTL_X86_---.msm 和 VC_User_STL71_RTL_X86_---.msm 模块也必须包含在安装工程中 。而且这两个模块的文件安装属性的"Module Retargetable Folder"项必须修改成为系统目录)
VC_User_CRT71_RTL_X86_---.msmVC_User_STL71_RTL_X86_---.msm
(很多人经常出现查询错误,不妨加上这个)
6.打开解决方案--右键点击Crystal_regwiz2003.msm的属性,在“MergeMouduleProperties”里的“License Key”填入:AAP5GKS0000GDE100DS(这个是你生成Crystal Report是用到的注册号的密码?。?
VB.NET安装部署七).打包时加入卸载功能:
方法一:
1.在打包项目中添加文件msiexec.exe(一般可在c:/windows/system32/下找到)
2.在文件系统视图中选择应用程序文件夹,在msiexec.exe上按右键,选择创建快捷方式,重命名快捷方式为"卸载".
3.更改此快捷方式的Arguments 为"/x {产品id}",产品id的值为打包项目的ProductCode属性值.
方法二:(推荐)
1.先生成安装包,记下ProductCode(选择解决方案资源管理器根目录如setup1,再查看属性标签,不是右键中的属性),下面要用到
2.用VS.net建立一个新的控制台程序uninst.exe文件
'power by: landlordh
'for 2000,xp,2003
Module uninstall
Sub Main()
Dim myProcess As Process =
【vb.net生成安装 vbnet ui】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文件加入到打包程序文件中,在程序组创建uninst.exe的快捷方式

推荐阅读