您正在看的应用软件是:应用程序非标准安装方法。
如今
Windows已是pc机标准的操作平台,其中有很多好的应用程序和软件具有较高的实用性。如何在不同的pc机间移植它们,笔者就这一问题谈谈自己的看法。
移植手段
方法有两种(为叙述方便,假定源机为a机,目标机为b机)
1、将a机安装有应用程序的硬盘卸下,设置好工作状态(跳线至slave模式),装至b机eide接口的第二个插座上。这时两盘可用copy命令传输文件。
2、找到或自装一条null modem线(因并口比串口速度高出很多,建议用并口连线),有关资料较多,这里不再赘述。将此线接于a、b机之间。操作系统为msdos的,可用msdos附带的intersvr和interlnk两个命令传输文件;操作系统为
Windows 95的,可把win 95自带的“拨号网络适配器”和“ipx/spx兼容协议”、“microsoft网络客户”以及“microsoft网络的文件和打印机共享”一系列网络适配器、协议、客户添加到控制面板的网络配置中,组成一个peer to peer的对等形网络。这时可把a机的硬盘映射到b机上,用copy命令传输文件。
移植方法
windows应用程序分为两部分:一是本身的程序,二是与windows的接口。本身的程序很好移植,只需将应用程序和子目录从源机拷贝到目标机即可。而与
Windows的接口部分则不尽相同(有的甚至不需要,如photoshop),搜索范围是:
1、源机
Windows下的win.ini的内容。
2、源机
Windows下的应用程序的初始化ini文件。
3、system子目录下的动态链接库dll文件以及与visual basic有关的库文件
VBx。
下面就几个具体的例子来说明一下:
例一:photoshop (version 4.0)
1、将a机的photoshop应用程序(假如为c:\photoshop)和子目录拷至b机中。
2、运行b机里的c:\photoshop\photoshop.exe,这时窗口显示“选择plug-in子目录”,选择“c:\photoshop\plugins”后,程序继续运行至photoshop的主窗口。
小议:此例较易,也说明了photoshop的高移植性。顺便说一下,它的初始化文件为“c:\photoshop\prefs\photos 40.ini”,内容是程序运行的初始记录。
例二:外语学习软件remember
1、将a机的remember应用程序(为c:\remember)和子目录拷至b机中。
2、运行b机里的c:\remember\remember.exe,这时窗口显示“application error:an error occurred while attempting to initalize the borland database engine [error $220b]”,大致意思是“在初始化borland数据库引擎时发生错误”这就说明本软件与
Windows的接口没有被正确设置。
3、以应用程序的路径即“c:\remember”为特征字符串搜索win.ini,发现了下列文字:
[idapi]
dllpath=c:\remember
configfile01=c:\remember\idapi.cfg
[borland language drivers]
ldpath=c:\remember\
将上述文字添加到b机的win.ini中,再运行程序,一切正常。
小议:此软件与
Windows的接口位于win.ini中,接口描述了外部的动态库dll文件路径和borland数据库引擎的设置。搜索的要点在于特征字符串。
例三:家庭保健医生med
1、将a机的med应用程序(为c:\med)和子目录拷至b机中。
2、运行b机里的c:\med\med.exe,这时窗口显示“程序安装不正常,请重新安装”。这也说明了本软件与
Windows的接口没有被正确设置。
3、以应用程序的路径即“c:\med”为特征字符串搜索win.ini,没有找到。再以应用程序的名称即“med”为特征字符串搜索,发现了下列文字。
[med]
serial= 辈炒辈炒辈炒辈炒
key=照照
这正是本软件的序列号和程序锁。
4、将上述文字添加到b机的win.ini中,运行程序,这时窗口显示“找不到运行程序所需的
VB40016.dll和oc25.dll”。将a机c:\
Windows\system\下的上述两个文件按路径拷到b机后再运行程序,又显示“找不到mtext.
VBx”,再拷贝此文件,再运行程序,一切正常。
小议:本程序与widnows的接口分两部分:一是win.ini里的序列号和程序锁,二是system子目录下的几个库文件。
小结
由上可以看出,windows应用程序的移植分为应用程序自身的移植和与windows接口部分的移植。前者就是拷贝应用程序,比较简单;而后者又分为两个内容:win.ini文件中有关内容和
Windows下system子目录下的有关库文件的寻找,具体操作可参考上述例子。