com 是什么程序

com 是什么程序,第1张

.COM是Dos可执行文件的一种格式,不需要重定位,最大65280字节。 当然你把.exe该成.com也可以运行的。它包含程序的一个绝对映象―――就是说,为了运行程序准确的处理器指令和内存中的数据,MS-DOS通过直接把该映象从文件拷贝到内存而加载.COM程序,它不作任何改变。为加载一个.COM程序,MS-DOS首先试图分配内存,因为.COM程序必须位于一个64K的段,所以.COM文件的大小不能超过65,024(64K减去用于PSP的256字节和用于一个起始堆栈的至少256字节)。如果MS-DOS不能为程序、一个PSP、一个起始堆栈分配足够内存,则分配尝试失败。否则,MS-DOS分配尽可能多的内存(直至所有保留内存),即使.COM程序本身不能大于64K。在试图运行另一个程序或分配另外的内存之前,大部分.COM程序释放任何不需要的内存。分配内存后,MS-DOS在该内存的头256字节建立一个PSP,如果PSP中的第一个FCB含有一个有效驱动器标识符,则置AL为00h,否则为0FFh。MS-DOS还置AH为00h或0FFh,这依赖于第二个FCB是否含有一个有效驱动器标识符。建造PSP后,MS-DOS在PSP后立即开始(偏移100h)加载.COM文件,它置SS,DS和ES为PSP的段地址,接着创建一个堆栈.为创建一个堆栈,MS-DOS置SP为0FFFEH,若已分配了至少64K内存否则,它置寄存器为比所分配的字节总数大2的值.最后,它把0FFFEH推进栈(这是为了保证与在早期MS-DOS版本上设计的程序的兼容性)。MS-DOS通过把控制传递偏移100h处的指令而启动程序.程序设计者必须保证.COM文件的第一条指令是程序的入口点。注意,因为程序是在偏移100h处加载,因此所有代码和数据偏移也必须相对于100h.汇编语言程序设计者可通过置程序的初值为100h而保证这一点(例如通过在原程序的开始使用语句org 100h).

于 EXE 文件比较 :

.com文件就是只含一个代码段的指令程序

.exe文件可包含多个程序段,如:代码段,数据段,堆栈段等

.com文件只能作一些简单的DOS指令 *** 作

.exe文件应用广泛,可作为各类程序的程序文件

.com文件大小不能超过64K

.exe文件大小没有限制

主板上有COM1和COM2口,启用需通过程序打开和关闭。

如果主板没COM1和COM2端口,用USB转RS232线,安装驱动建立了COM口,通常端口号不是1或2,那可在设备管理器中修改端口号来实现。

方法:

1)进入设备管理器-选中COM口-右键-属性

2)端口设置-高级设置

3)将Com端口号修改为需要的端口号-确定-确定,就完成COM端口号的更改。

COM+ 应用程序中"找不到此项,可以通过下述方法重建:

打开命令提示窗口,然后使用以下命令切换目录:

cd %windir%/system32/inetsrv

c. 运行以下命令:

rundll32 wamreg.dll, CreateIISPackage

注意:必须准确键入"CreateIISPackage";它区分大小写。

regsvr32 asptxn.dll

d. 关闭并重新打开"组件服务"。您应看到已经重新创建的所有这三个 IIS COM+ 应用程序。

e. 从命令行运行 IISRESET,并对先前未正确加载的任意 ASP 页进行测试。

.查看系统日志文件:

“DCOM 遇到错误“重叠 I/O *** 作在进行中。 ”并且无法登录到 .\IWAM_CCNU-8A760083A4 上以运行服务器:

{3D14228D-FBE1-11D0-995D-00C04FD919C1} ”

10.搜索了一下错误码,知道是COM+应用程序出错误了,用别人所给的方法还是解决不了,根本没有办法来密码同步,也没有办法启动这个服务。把“标识”中的“此用户”从一般的用户调整到管理员,还是启动不了服务。

11.最后自己试了一下,一下搞定了。“开始”->“设置”->“控制面板”->“管理工具”->“组件服务”中,“控制台根目录”->“组件服务”->“计算机”->“我的电脑”->“COM+应用程序”中,有一个“IIS Out-Of-Process Pooled”鼠标右键“属性”--“标识”--把“此用户”调整为“交互式用户--目前已登录的用户”。然后“确定”,再鼠标右键“属性”--“启动”。

终于OK了,过程真是复杂……。今天太不走运了,就这么一个问题,搞了我大半天

IIS出现HTTP500内部错误以及COM+8004e00f错误的解决办法(MSDTC)

主要都是IWAM账号在ActiveDirectory、IIS metabase数据库和COM+应用程序三处的密码无法同步,解决方法也很简单,大致有一下三个步骤:

1、重新设置IIS的IWAM账号密码。[在计算机管理中的用户管理里]

2、同步IIS metabase中IWAM_MYSERVER的密码,在CMD中:c:\inetpub\adminscripts>adsutil set w3svc/wamuserpass "yourpassword"

3、同步COM+应用程序所用的IWAM_MYSERVER密码,在CMD中:c:\inetpub\adminscripts>cscript synciwam.vbs -v,但是在进行第三步 *** 作时总是报8004e00f错误。

后来在系统里不断的乱看,发现MSDTC服务不正常,于是先从这里下手,具体的解决方法如下:

1、首先进入组件服务,查看组件服务/计算机/我的电脑/COM+应用程序,结果报错"COM+ 无法与 Microsoft 分布式事务协调程序交谈",无法查看里面的对象。

2、进入事件查看器,发现msdtc服务没有正常启动。

3、删除注册表中的键:

�6�1 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC

�6�1 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC

�6�1 HKEY_CLASSES_ROOT\CID

4、停止MSDTC服务:net stop msdtc

5、卸载MSDTC服务:msdtc -uninstall

6、重新安装MSDTC服务:msdtc -install

7、确认在事件查看器中msdtc服务已经正常启动[这步很关键,如果没有,重新启动下电脑看看,然后再同步密码(就是开始的那三步)

其实"COM+ 无法与 Microsoft 分布式事务协调程序交谈"在安装了Windows组件中的消息队列后,就不会出现这个错误了,同时"消息队列"组件又对服务中的"Distributed Transaction Coordinator"(即msdtc服务)有依存关系,这个服务必须启用,才可以安装消息队列组件!消息队列装好后,上图中的COM+应用程序菜单就可以打开了,表示其已正常工作!如果在这个时候再装IIS或者把IIS卸载重装,就不需要上面的手动密码同步问题了!就是说按这个步骤安装好IIS,就已经正常了!实际上,手工同步密码


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12124264.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存