《再论 Access 应用程序的打包》-使用 WinRAR 3.0

来源:百度文库 编辑:神马文学网 时间:2024/04/29 19:07:07

再论 Access 应用程序的打包: 

作者:cg1  摘自:access911.net  编辑:cg1  更新日期:2003-3-27  浏览人次: 1621

专题地址:

http://access911.net/?kbid;73FAB51E10DC

 

 

再论 Access 应用程序的打包: 
    继上次我们在《关于Access打包软件的有关阐述》一文中讨论了 Access 开发版的打包功能后,今天我们再来详细的叙述一下不用开发版打包而使用 WinRAR 3.0 这个压缩软件来实现打包的方法。
    首先,我们必须先在您的数据库文件(*.mdb或*.mde)中一下脑筋。一般来说,客户的数据库使用环境往往与我们的开发环境不相同,因而经常会造成动态链接库文件(*.dll,*.tlb)丢失,我们最常用的办法就是在 COPY 完 MDB 文件后进入代码界面,选工具中的引用,重新建立引用。而很多朋友就是因为这样不方便而选择了开发版的打包功能,因为打包功能往往会把你使用到的相关文件都一起打包。其实我们大可不必如此大费周章。我们只要在模块中加入以下代码:

Public Sub DeclareDLL()
    '曾经有人跟我说用FeatureInstall ,
    '和Public Declare Sub GetScanImg Lib "d:\学生成绩\同学通讯录\scanimg.dll" ()
    '但结果无效,请您帮助看看
    Dim ExistDll(10, 2) As String, i As Integer
    Dim PathName As String
    PathName = Application.CurrentProject.Path & "\"   '根据你的实际情况可以更改

 

    ExistDll(0, 0) = "stdole"
    ExistDll(0, 1) = "stdole2.tlb"
    ExistDll(1, 0) = "ADODB"
    ExistDll(1, 1) = "msado25.tlb"
    ExistDll(2, 0) = "DAO"
    ExistDll(2, 1) = "dao360.dll"
    ExistDll(3, 0) = "ADOX"
    ExistDll(3, 1) = "msadox.dll"
    '这里我的数据库中需要引用4个,你可以按你的实际情况添加

    For i = 0 To 3
        ExistDll(i, 2) = "Not Found"
    Next i
    
    Dim R As Reference
    For Each R In References
        For i = 0 To 3
            If R.Name = ExistDll(i, 0) Then ExistDll(i, 2) = "Found"
        Next i
        Debug.Print R.Name & "   @  " & R.FullPath & " -> " & R.BuiltIn
        '上一句可以检测您数据库中所使用到的所有动态链接库
    Next
    
    For i = 0 To 3
        If ExistDll(i, 2) = "Not Found" Then
            References.AddFromFile PathName & ExistDll(i, 1)
        End If
    Next i
End Sub


再在启动窗体中加入以下代码:

Private Sub Form_Current()
    Call DeclareDLL   '声明所有非默认的动态链接库
End Sub
然后整理出所有的你需要用到的动态链接库文件,并将其复制到 MDB 文件同一目录下,以后压缩时一起打包。

    其次,我们必须将数据库中所有需引用到的其他文件依次的复制到 MDB 文件同一目录或者子目录中,再在程序的相应位置中以相对路径代替绝对路径:Application.CurrentProject.Path & "\"

    在这里,要提醒的是在打包 MDB 文件前,请先到 工具 -> 引用 中去把所有能去掉的引用全部去掉,除非 Access 提示这是 Access 正在使用的引用(一般是 VBA 和 MS Access Object 这两个)。切记,其他的一律去掉。至于为什么你试验以后就知道了。

    最后,就要请我们的压缩高手 WinRAR 3.0 中文版出场了。

1、选定所有文件,并右键单击在快捷菜单中选取“添加到档案文件”
2、在弹出的窗体中选择“创建自释放格式档案文件”,然后再选取“高级”选卡

图片如下:

3、单击“SFX 选项”

图片如下:

4、在“释放路径”中填写相对路径,如下图中,我填写的路径,将来就会释放到 program files\Access911\Work For PY 这个目录中。

图片如下:

5、再选取高级选卡,单击“添加快捷方式”按钮

图片如下:

6、在弹出的窗体中选择“开始菜单/程序”,当然,你也可以选择其他的。然后填写。
源文件名——就是你的 MDB 文件名称;
目标文件夹——就是 开始 -> 程序 菜单中的文件夹名称;
快捷方式名称——就是菜单项的名称;
填写完成后按确定,一个快捷方式就可以在解压缩后自动生成了。

图片如下:

7、最后再选择“文字和图标选卡”,用来选择你的压缩包使用的图标。

图片如下:

这些都搞定后,你就一路按确定吧,然后你就可以生成自己的安装包了,安装包也会自动为你添加快捷方式指向你的 MDB 文件。

    最后,你只要跟你的客户说:“你自己装一下 Office ,这你总搞得定吧?!然后去我的网站下载程序包,双击,然后一路按确定,安装完成后你就能用了,OK ?”