VB.64位NET程序强名要布署吗

1、首先在VB中写一ActiveX(DLL)组件,工程名为COMTEST。编译后在另一程序中调用,确认组件工作正常。
2、打开“控制面板/管理/组件服务”,在“COM+应用程序”下利用“COM+应用程序安装向导”创建一个空的COM+应用程序,名称为“COMTEST”。
3、在“COMTEST”下,新建“组件”,在“组件安装向导”中,选择“安装新组件”(注意:不要使用“导入已被注册的组件”),然后将生成的dll及tlb都添加进来(两个文件都要!),完成。
4、右击“COM+应用程序”上方的“我的电脑”,选择“属性”,然后在“属性”对话框中的“默认属性”页下,将“默认身份验证级”改为“无”,将“默认模拟级别”改为“匿名”,然后在“默认安全设置”页下的默认启动权限里添加"Everyone",确定。(这里是匿名关键之一)
5、在本地用户管理里启用Guest用户!(这就是有人说权限里设置了Everyone仍然无法访问的原因)6、右击“COMTEST”,导出客户端的“应用代理”。注意:在导出对话框中,必须选择“应用程序代理”而不是“服务器应用程序”!并将导出的文件在客户机安装!
7、好了!现在就可以在客户端进行调用了,点击运行后第一次运行在数秒弹出希望看到的运行结果,在激活服务器的准备状态以后的运行通常都在半秒内响应完成!(注:VB状态下加垃圾机器)

别人写的COM+在VB中的开发与应用例子,我测试过,可以运行。相信大家看了有所启示。终于试验成功了!

为避免大家继续在黑暗中摸索,我现将试验用的具体例子及步骤详述如下(一个最简单的例子):


2、添加一个类模块,名称为“ClsAdd”,并输入如下几行代码:
3、打开“工程属性”对话框,选择“生成”,选中“自动升级”;选择“部件”,选中“远程服务器文件”(此点很重要,否则编译时不会生成类型库文件COM_Test.TLB)及“二进制兼容”,最后“确定”
5、打开“控制面板/管理/组件服务”,在“COM+应用程序”下利用“COM+应用程序安装向导”创建一个空的COM+应用程序,名称为“MyTest”
6、在“MyTest”下,新建“组件”,在“组件安装向导”中,选择“安装新组件”(注意:不要使用“导入已被注册的组件”),然后将第4步生成的Com_Test.dll及Com_Test.tlb都添加进来(两个文件都要!),完成。
7、右击“COM+应用程序”上方的“我的电脑”,选择“属性”,然后在“属性”对话框中的“默认属性”页下,将“默认身份验证级”改为“无”,确定。
8、右击“MyTest”,导出客户端的“应用代理”。注意:在导出对话框中,必须选择“应用程序代理”而不是“服务器应用程序”!
9、将导出后的两个文件(即应用程序代理)安装到win98机器上,此时它会在注册表中添加几处注册项,并在C:\program files\ComPlus Applications下产生一个以CLISD命名的文件夹,打开来可看到Com_Test.tlb及Apl82.tmp二个文件。

好了,准备工作至此结束,下面在win98机器上来验证你的COM+配置型组件能否工作。(先用Administrator及口令登录)


10、启动VB(+sp5.0),创建一个exe工程,在窗体上放置一个文本框与一个命令按钮,并在命令按钮的Click事件中加入代码:

执行程序,win2000 server 机器的硬盘灯一阵闪烁之后,Text1中欢快地跳出“25”

以上经验是在我经过多次痛苦的失败之后摸索出来的,看来靠别人不如靠自己。

1、此前,我对有关COM+的内容可以说是一片空白,什么都不懂,甚至也没做过有关DCOM的试验。近来空闲,络续看了点CSDN论坛中的提问与回答,可没有一个让人满意的。万不得已,自力更生。


2、个人以为,COM+组件并不一定要配置在主域控制器上,但必须配置在某个域中的某台win 2000 Server上,而不是一般的2000 professional上(可能考虑到安全性)。
应用程序代理后,找不到相应的DLL文件,只有TLB文件(类型库),该DLL文件在win 2000 Server上由Dllhost.exe来负责装入内存。
4、若是创建非配置型组件,则第一步中不是创建一个ActiveX(DLL)工程,而是ActiveX(EXE)工程,
因为该exe文件在服务端不是由Dllhost.exe来负责装入内存,而是自行执行。此种情形下,当然也
就不需要第5至9步的操作了。

说起COM我首先想起的是在《Inside Com》一书中所讲的,类实际上也是一种结构,用VB的语言来说,类即是Type的扩展。那么类扩展了什么?很简单,类是在结构中加上了函数(方法)和事件。再进一步,函数可以为虚函数,这样,就可以象定义结构那样定义类了。于是,这样的类即是一个空类,又称为父类。有了空类,在VC中通常是用构造函数来对类初始化,使其成为一个对象。而VB则用的是COM的接口委派继承而产生新的对象。于是这又回到了COM这个本质的问题。

金蝶K/3ERP通过主控台打开时提示“运行时错误-(8000401a)Automation错误”,解决方法如下:

开始-->运行-->dcomcnfg或控制面板-->管理工具-->组件服务,在组件服务-->计算机-->我的电脑-->COM+应用程序-->kdsvrmgr,右键-->属性-->标识,在这里指定一下使用的用户名.默认的可能是选择的第一个,即系统用户....选择第二个"指定用户",输入用户名和密码.点击确定后,启动一下这个组件,如果成功启用起来,那说明就正常了

}

安装部署二).将 主程序 项目的输出添加到部署项目中

安装部署三).创建安装程序类

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

安装部署五).创建自定义操作

安装部署六).添加文件

  • ...(如果有引用其他的dll)
  • (很多人经常出现查询错误,不妨加上这个)

    安装部署七).打包時加入卸载功能:

    建立一个新的控制台程序安装部署八).打包時加入.net环境和MDAC功能:

    把MS的的自带的打包工具打包,就会自动把.net framework环境打进去,再下面的步骤进行设置,就可以把MDAC也打包.使用 Setup 项目安装 MDAC

    框架引导程序插件已安装。

}

我要回帖

更多关于 64位NET程序强名 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信