Adding reference to acwzmain.mde in Access 2003 runtime

Posted on 2006-05-31
Last Modified: 2008-01-09

I have an Access application that requires the reference acwzmain. This used to invoke the mailing lables dialog in my application.

I install the Access application to client's systems using Installshield 11.5 with the Sagekey object. On some user's systems I get an error message that the requested type library or wizard is not a VBA project.

On discecting the application I believe it relates to the reference acwzmain not being installed correctly.

Using the installshield 11.5 with the Sagekey object I install a runtime version of my application. This is installed to C:\program files\Microsoft Access Runtime folder. I also install the acwzmain.mde to C:\program files\Microsoft Access Runtime\Office11 folder. The reference in the Access application is to C:\program files\microsoft office\office11\acwzmain.mde

I am unable to change this reference to C:\program files\Microsoft Access Runtime\Office11\acwzmain.mde. Therefore if the client system does not have Microsoft Office installed or an earlier version I get an error.

Can anyone figure out away of fixing this, short of removing the reference altogether and therefore losing the functionality of have the mailing label wizard working in my application.

Many thanks
Question by:dogster
    LVL 65

    Accepted Solution

    Thois may be a reference issue, if u use different office versions, that can often break references
    If u made it for Office11 (is that Office 2003?) and they on an earlier version, then that could be it

    Ive some code that u can use which helps checks for broken references, perhaps u can run this (say via a form/command button)

    all u need to do is select from any table that u have

    Public Function Install_CheckReferences(ByVal fCaller As Form) As Boolean
        Dim db As Database, rs As Recordset
        Dim x
        On Error Resume Next
        Set db = CurrentDb

        ' Run the query qryTestRefs you created and trap for an error.
        Set rs = db.OpenRecordset("SELECT * FROM BACKLOG")
        ' The if statement below checks for error 3075. If it encounters the
        ' error, it informs the user that it needs to fix the application.
        ' Error 3075 is the following:
        ' "Function isn't available in expressions in query expression..."
        ' Note: This function only checks for the error 3075. If you want it to
        ' check for other errors, you can modify the If statement. To have
        ' it check for any error, you can change it to the following:
        ' If Err.Number <> 0
        If Err.Number = 3075 Or Err.Number = 3078 Or Err.Number = 3024 Then
            MsgBox ("This application needs to refresh its references.")
            Install_CheckReferences fCaller
        End If
        Set rs = Nothing
        Set db = Nothing
        Install_CheckReferences = True
    End Function

    there is code that refreshes references but it canno tbe run on an MDE, what do u ship out MDB or MDE

    here is the code anyway

    Public Sub Install_RefreshReferences(Optional ByVal bByPassBroke As Boolean = False)
        Dim loRef As Access.Reference
        Dim intCount As Integer
        Dim intX As Integer
        Dim blnBroke As Boolean
        Dim strPath As String
        Dim bBroke As Boolean
        On Error Resume Next

        'Count the number of references in the database
        intCount = Access.References.Count
        'Loop through each reference in the database and determine if the reference is broken.
        'If it is broken, remove the Reference and add it back.
        For intX = intCount To 1 Step -1
            Set loRef = Access.References(intX)
            Debug.Print, loRef.FullPath
            'Dont do Access
            With loRef
                If bByPassBroke = False Then
                    blnBroke = .IsBroken
                    If blnBroke = True Or Err <> 0 Then
                        bBroke = True
                        bBroke = False
                    End If
                    bBroke = True
                End If
                If bBroke = True Then
                    strPath = .FullPath
                    With Access.References
                        .Remove loRef
                        If Err.Number > 0 Then
                            If Err.Number <> 57101 Then  'Cant remove default reference
                                Debug.Print "Removal Failure (" & Err.Number & ") : " & Err.Description
                                MsgBox "Reference Removal Failure (" & Err.Number & ") : " & Err.Description, vbCritical, "Install"
                            End If
                            .AddFromFile strPath
                            If Err.Number > 0 Then
                                Debug.Print "Insert Failure (" & Err.Number & ") : " & Err.Description
                                MsgBox "Reference Insert Failure (" & Err.Number & ") : " & Err.Description, vbCritical, "Install"
                            End If
                        End If
                    End With
                End If
            End With
        Set loRef = Nothing
        MsgBox "References have been refreshed", vbInformation, "Install"
        Exit Sub
        MsgBox "Error " & Err.Number & " trapped." & vbCrLf & Err.Description, vbCritical, "Install"
    End Sub

    All code was based on code from Microsoft

    LVL 65

    Expert Comment

    there is also a problem with Office2000

    Microsoft has confirmed that there's a problem with the Access 2000 wizards. To find out if yours are missing, check your system for the following two files: acwzmain.mde and acwztool.mde. If you don't find either file, you can copy them from the Office 2000 CD. To do so, insert your Office or Access CD and open the folder Pfiles\Msoffice\Office\1033 You'll find both .mde files in this folder. Simply copy them both to the same folder in which you installed Office 2000 (the default folder is C:\Program Files\Microsoft Office). After copying the files, restart Access and try to use a wizard. Access may have to install the wizard first, but once that's done, the wizard should work just fine. For more information, review the support article at Also note, if the Small Business Tools have been installed, you'll need to take a different approach. First, close Access and insert your Office 2000 CD. Then, choose Settings from the Windows Start menu, and select Control Panel. Double-click Add/Remove Programs, select Office 2000, and click Add/Remove Programs. Choose Add Or Remove Features and then click the plus sign to the left of the Microsoft Access heading. At this point, click the Additional Wizards heading and choose Run All From My Computer. Finally, click Update Now, and when that's complete, you should be able to launch Access and find your wizards at home

    LVL 84

    Assisted Solution

    by:Scott McDaniel (Microsoft Access MVP - EE MVE )
    I'm surprised the wizard works in the Runtime environment - if I'm not mistaken, the label wizard collects information and then builds a new report, and this isn't allowed with the runtime version of Access. That mde file contains several wizards - the form wizard, splitter wizard, as well as your label wizard - and while it may work on some runtime installs, it will eventually fail on others.

    Not sure you can deploy the wizards with the runtime ... although I haven't seen anything that specifically states otherwise, I've also seen nothing that allows this (although I haven't looked very hard), but I don't have the ODE on this machine with the allowed files listing ...


    Featured Post

    How to run any project with ease

    Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
    - Combine task lists, docs, spreadsheets, and chat in one
    - View and edit from mobile/offline
    - Cut down on emails

    Join & Write a Comment

    Today's users almost expect this to happen in all search boxes. After all, if their favourite search engine juggles with tens of thousand keywords while they type, and suggests matching phrases on the fly, why shouldn't they expect the same from you…
    I see at least one EE question a week that pertains to using temporary tables in MS Access.  But surprisingly, I was unable to find a single article devoted solely to this topic. I don’t intend to describe all of the uses of temporary tables in t…
    Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…
    Learn how to number pages in an Access report over each group. Activate two pass printing by referencing the pages property: Add code to the Page Footers OnFormat event to capture the pages as there occur for each group. Use the pages property to …

    734 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    20 Experts available now in Live!

    Get 1:1 Help Now