Solved

MSACAL70.OCX Woes

Posted on 1998-05-28
9
709 Views
Last Modified: 2010-05-18
Problems deploying an application written in VB5.0 which utilizes this rather nice calender control shipped with VB5 (SP3 ?) called msacal70.ocx "Microsoft Access Calendar Control". Shipping program using MicroSoft VB Set-up wizard. Everything registers ok on destination PC except for this control. It replies that "An error occured while registering the file c:\windows\system\msacal70.ocx".
on launch OK until "Runtime error 339 msacal70.ocx not correctly registered. File is missing or invalid" which occurs as soon as the control is called from within the program. The quick fix was to install a minimal VB onto the destination PC. This worked. However installing it on any other PC causes this problem. Note! Access/Office NOT installed on destination PC. Anyone had similar problems. Yes I have checked that the setup wizard is used correctly and that it is definately referring to the control before making installation disks.
0
Comment
Question by:StewartWood
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
9 Comments
 

Author Comment

by:StewartWood
ID: 1461878
Edited text of question
0
 
LVL 18

Expert Comment

by:deighton
ID: 1461879
I've had similar problems like this

Is MSACAL70.OCX actually installed ?

Look in SETUP.LST for your installation disk.  Is the OCX there?  is any further info given?

Use windows explorer to search the directory containing the OCX.  Use option advanced - containing  text, to search for the string selfregister - if found the OCX is self registering and this should be reflected in your .LST

You could also run REGEDIT /v on the installation PC to see if any registry info has gone accross (This is complicated though and I'm still studying this myself)
0
 
LVL 1

Expert Comment

by:JayMerritt
ID: 1461880
Remember that the OCX is not inclusive.  It is just the vehicle that gets you to the library (DLL).  Make sure you have included all DLL's the control requires.

Most OCX files for developers ship with a .DEP file which lists the dependancies for the OCX.


0
Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

 
LVL 6

Expert Comment

by:clifABB
ID: 1461881
Check for a file called msacal70.dep on the developement machine.  It will give you the dependant files required to install msacal70.

I submit this as a comment.  If it solves your problem, let me know and I'll resubmit it as an answer.
0
 

Author Comment

by:StewartWood
ID: 1461882
Thankyou for the above assistance. Yes it is in the setup lst, no there is no DEP file for MSACAL70.OCX. Will probably invest half a day and write my own calender control. VB's Date variables are pretty handy. Shame thought as it's a handy OCX. I shall leave this question pending for the moment but thankyou for your comments
0
 
LVL 6

Expert Comment

by:clifABB
ID: 1461883
There is another file called Vb5dep.ini located in the setupkit\kitfil32 directory under VB5.  This might tell you what you need to know.
0
 
LVL 6

Accepted Solution

by:
clifABB earned 50 total points
ID: 1461884
I ran a dependency walker on MSACAL70 and found the following:

Here is a list of files that MSACAL70 probably needs:
MFC40.DLL
MSVCIRT.DLL
MSVCRT.DLL
MSVCRT40.DLL
Make sure these files are part of the setup.

In addition, these files may also be needed:
OLE32.DLL
OLEAUT32.DLL
RPCRT4.DLL

0
 
LVL 6

Expert Comment

by:clifABB
ID: 1461885
Oops.  I forgot one that should be in the second list:
ADVAPI32.DLL
0
 
LVL 3

Expert Comment

by:kfrick
ID: 1461886
I had a similar problem recently, and this turned out to be the problem.

It seems that the file MSCVRT40.DLL in my WinNT\System32 directory was some OEM-installed version of which Microsoft was not aware. This file is the "C" Run-Time DLL, and was not working with the SetUp program.

      The Official Microsoft release is:
           File Version: 4.10.6038.

      The BAD OEM version was:
           File Version: 4.20 - OS use only. DO NOT DISTRIBUTE

You can look at the version of the files my right-clicking on the filename then choose Properties, then Version.

If this is not your exact problem, you might get lucky and find some strange file version in one of your other files!

Good Luck!

kfrick
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
passing parameter in sql procedure 9 70
VBA Shell can't Find Word document 11 152
Publisher:   Unknown     VB.exe Application 1 31
Set WorkSheet  not Working 9 61
When trying to find the cause of a problem in VBA or VB6 it's often valuable to know what procedures were executed prior to the error. You can use the Call Stack for that but it is often inadequate because it may show procedures you aren't intereste…
This article describes some techniques which will make your VBA or Visual Basic Classic code easier to understand and maintain, whether by you, your replacement, or another Experts-Exchange expert.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

731 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