热情软件屋

 

如何让光盘上自动运行的程序判断软件是否已经安装


编号:QA002242
建立日期: 1999年12月13日 最后修改日期:1999年12月13日
所属类别:

鹏燕双飞:
    操作系统: win98
    编程工具: vb6
    问题: 我的程序刻在光盘上后,用AUTORUN.INF指定自动运行,但我希望在运行前要判断是否已经安装。如果用AUTORUN.INF指定自动运行SETUP.EXE,则每次插入光盘都会运行安装程序,而如果用AUTORUN.INF指定自动运行我的主程序,假如此前没有安装的话,又会出现错误信息,说找不到相关文件(.DLL、.OCX等)。请问如何是好!

回答:

    可以在用户的注册表中加一个标志,如果标志存在就认定软件已经安装,否则就没有安装启动程序。如果你使用InstallShield或Wise Install写安装程序就很容易实现这个功能,因为这些软件都包括读写注册表的功能。但如果你使用的是VB的安装向导生成的安装盘就不能容易地实现这个功能了。你必须使用VC++或Delphi写一个程序,因为它们可以编写不需要任何DLL就可以运行的程序,而VB不能。这个程序检测软件是否已经安装了。你可以让AutoRun.inf运行这个程序。考虑到有些朋友不会使用VB以外的程序,这里用Delphi编写了一个简单的程序,包括源程序和EXE。它读取注册表的LOCAL_MACHINE\Software\AskPro\AutoRunDetect,如果发现有了这个注册键,就运行这个注册键指定的程序,否则运行程序所在目录中(也就是光盘上)的Setup.exe。下载detect.zip

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio