Posted on

AFRA SmartStart

1 General

This document describes the usage of AFRA SmartStart. Please note that everywhere, where SmartStart, AFRA SmartStart or SmatrtStart.exe are referred we actually mean the main exe file of your application. Also the corresponding ini file has the name of the application. For instance the SmartStart for MyApp is called MyApp_ENG.exe and corresponding ini file is MyApp_ENG.ini. By default the application main access file is MyApp_ENG.mdb or MyApp_ENG.mde.

2 Purpose

 

The AFRA SmartStart is used for automating the of version updates into user computer before they start a MS Access application.

 

3 Files needed

3.1 AFRA_SmartStart.exe

Required. A small exe file that is usually renamed according to custom application name, like MyApp.exe. To use this exe the Visual basic runtime: MSVBVM60.DLL is required. It is present in most of the Windows systems.

 

AFRA_SmartStart does not require running any setup program or registration. Just copy and run.

3.2 AFRA_NewVer.exe

Optional. File for setting up the ini file for AFRA Smartstart and publishing new versions. Not required, but simplifies the setup and deployment. Usually also renamed as MyApp_NewVer.exe.

3.3 AFRA_FileDownloader.exe

Optional. Should be present if latest version files are distributed using remote server.

3.4 AFRA_CopyAndRun.exe

4 Getting started

You can rename AFRA_SmartStart.exe according to Your application name. For example: ‘MyApp.exe’. The ini file is then expected to be at same folder named ‘MyApp.ini’. If the ini file is not present, the AFRA_SmartStart promts a dialog for setting up the ini file.

 

5 What does the SmartStart do?

  1. Enables to define a list of required application files and their locations.
  2. Checks the existence of the local folder (the folder where the program normally runs) and to creates the folder if it is missing.
  3. Checks version of each file in the local folder and replaces an old version with the most recent ones from server. Registers components if required.
  4. Updates system and settings database from Inbox folder (the folder name is read from registry)
  5. Updates program settings in Windows registry
  6. Finds msaccess.exe in current workstation so that the system can start even if access is not on common path.
  7. Executes msaccess.exe with specified mdb or mde file and a workgroup file.
Posted on

AFRA References Ensurer

1.    Problem description

If Your Microsoft Access Application uses external modules that must be referenced in VBA project, then the distribution of application to end user becomes nightmare. This is because if enduser has even slightly different version of some referenced component, the application fails even to start and gives very strange compile errors.

 

For example, if we have Microsoft Access Application that uses Microsoft Word to create complex forms, then we must ensure that all users who are using this application have exactly same version of Microsoft Word installed on their computer, otherwise the application will not start on some users computer.

 

2.    How does AFRA References Auto Correct help

AFRA References Ensurer enables to remove all references prior distribution of application and restoring them on startup in end user computer.

 

AFRA References Ensurer provide You with tools to remove all references before the distribution of application to end users. To make it simper for user the macro “App_PrepareForNewDistro” is provided.

 

AFRA References Ensurer restores the references on each startup of the application. This ensures that application can be distributed to computers with different version of Microsoft Word from 97 to 2013 and the application still works. Of course programmer must keep in mind that newer functionality is not used from referenced applications.

 

If some referenced component is missing in user computer, then this reference is not restored.

 

3.    What You get with AFRA References Ensurer

  • VBA modules source code that You can import to Your Microsoft Access application
  • Macro for listing existing references : App_References_Diagnose
  • Macro for detecting existing references and generating VBA code for restoring those: App_References_GenerateRestoreProc
  • Macro to run before distributing the application: App_References_Remove
  • Autoexec Macro that ensures restoring the references that are available on application startup.
  • Predefined references handling for following:
    • DAO (Access 97- Access 2013)
    • Microsoft Office (97-2013)
    • ADODB
    • Windows Common Controls
    • Word
    • Excel
    • PowerPoint
    • Outlook
    • WinHttp
    • MSXML2
    • SHDocVw – Microsoft Internet Explorer
    • MSHTML – Microsoft HTML Object Library
    • Scripting
    • Shell 32
    • PDFCreator
  • Special procedure for simplifying adding references: AF_App_Reference_Add

 

 

4.    How to use AFRA References Ensurer in Your Access applicaton

 

  • Open Your Microsoft Access application and start import from downloaded AFRA_References_Ensurer.mdb
    • In the import dialog select all Macros:
      • Autoexec
      • App_References_Diagnose
      • App_References_Refresh
      • App_References_Remove
      • App_References_GenerateRestoreProc
    • In the import dialog select all Modules:
      • App_References__MyApp-DefineReferencesHere_Mdl
      • App_References_Core_Mdl
      • App_References_Predefined_Mdl
      • App_References_Management_DevTools_Mdl
  • After import run the App_References_Generate

 

 

The main procedure ofr AFRA_References_Ensurer is AF_App_References_Refresh()

4.1    You can diagnose current references using Macro App_References_Diagnose

diagnose current references
diagnose current references

4.2    You can generate the list of current references using Macro App_References_GenerateRestoreProc

 generate the list of current references
generate the list of current references

4.3    You can use the generated list to merge the missing references to main procedure AF_App_References_Refresh() that is located in module: App_References__MyApp-DefineReferencesHere_Mdl

By defaul all predefined references are included.

Simplest way to exclude it is to comment out according row. You can delete also unneeded rows.

 

4.4    You can restore references using Macro App_References_Refresh