成都网站建设设计

将想法与焦点和您一起共享

包含vb.netdll合并的词条

vb.net引用Dll的问题

上级目录不可以,但是为了保证程序路径改变,引用不会被破坏。可以有几个方法:

创新互联公司2013年至今,先为平和等服务建站,平和等地企业,进行企业商务咨询服务。为平和企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

1.将DLL文件放在程序同级目录

2.将DLL文件放在程序子目录

3.将DLL文件放在System32目录下(系统目录,可以直接引用DLL)

4.可以将DLL文件打包成资源文件,融合到EXE程序中,每次执行判断同级目录是否有DLL文件,不存在,释放资源文件。

vb.net怎样打包?

打包的具体操作步骤:

1)新建“安装和部署项目”-- “安装向导”

2)选择菜单中 项目-- 添加-- 文件(这里选“创建用于windows应用程序.exe你的数据库文件”)-- 打开

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

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

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

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

4)手动加入要包含的文件:项目-- 添加-- 合并模块(添加你的程序文件) (包括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、

(是vc的运行库,估计是Crystal Report或涉及到的某些程序是用vc写的,所以需要它!)

VC_User_CRT71_RTL_X86_---.msm、

VC_User_STL71_RTL_X86_---.msm、

5)打开解决方案-- 右键点击Crystal_regwiz2003.msm的属性,在“MergeMouduleProperties”里的“License Key”填入:AAP5GKS0000GDE100DS(这个是你生成Crystal Report是用到的注册号的密码!)

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

至此整个分发程序已经做好,再把刚才做的那个安装程序双击一下……

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

打包时加入卸载功能:

方法一:

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

2.在文件系统视图中选择应用程序文件夹,在msiexec.exe上按右键,选择创建快捷方式,重命名快捷方式为 "卸载 ".

3.更改此快捷方式的Arguments 为 "/x {产品id} ",产品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文件加入到打包程序文件中,在程序组创建uninst.exe的快捷方式

如果装个ms的控件的话,则直接把framework和msac打在包里。

vb.net把dll放到程序的Resources资源里面,能直接调用Resources里面的dll吗?

dll文件可以直接引用进去啊,你打开引用文件,直接引用进去就好了,是在程序引用里面,本身就融合在exe文件里,何必放在Resource目录下,画蛇添足。

一些特定的文件,如DB格式、Cab格式、图片格式直接放在相对目录下不就好了,不然你要开发一个稍微像样点的软件根本没办法打包给别人,资源包和检测安装包你怎么给别人打包安装嘛?Resource目录是针对ASP.NET WebForm程序,MapPath的方法可以直接取得资源目录。WinForm考虑他的项目移植性,你直接做安装包就好了,安装资源文件到哪个位置应该由客户自己来定。

dll本身就是封装好的代码,可以直接引用编译,不属于资源文件行列。

第三方控件也不是什么耻辱的事情,大部分成功的软件都是自己开发第三方控件,你用微软自带的控件根本满足不了市场需求,仅仅维持一个学习层次。


当前题目:包含vb.netdll合并的词条
文章路径:http://chengdu.cdxwcx.cn/article/doosogp.html