msain.dll missing all of a sudden

FuzMic

DataBase Tinker
Local time
Tomorrow, 02:14
Joined
Sep 13, 2006
Messages
744
Hi friends

I have an .mde running for years in Access07.Runtime without any problem.

THEN SUDDENLY when try to run it, it pops up the message "Language Library msain.dll" Missing. msain.dll is still in Program files.../1033. Reinstalling Access07.Runtime problem remains. The same .mde has no problem on other pcs.

:banghead:
 
One posible thing, an Outlook 2013 might have been updated affecting the registry for Excel or Word versions. Some people use Late Binding so the versions don't matter.
Being a lazy person, I prefer early binding when coding.
It might be possible to add a pre-check code to determine if the referencees are OK. It would probably look something like this:
Code:
If Dir("C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.exe") <> "" And Not refExists("excel") Then
    Access.References.AddFromFile ("C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.exe")
End If
If Dir("C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.exe") <> "" And Not refExists("excel") Then
    Access.References.AddFromFile ("C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.exe")
End If
If Dir("C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.exe") = "" And Dir("C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.exe") = "" Then
    MsgBox ("ERROR: Excel not found")
End If

This was reported to have worked in MDE/ACCDE:
Code:
Private Function refExists(naam As String)
Dim ref As Reference
refExists = False
For Each ref In References
    If ref.Name = naam Then
        refExists = True
    End If
Next
End Function

Using Citrix allows a copy of the orginal in a sandbox for each user as they log in. My environment either all works or is all broken when it comes to references.

Microsoft updates can be very tricky!
Once, we were running SQL Server on the same huge server as MS Outlook. The tech was going to update the version of Outlook. Being the old dog, I came in to work 2 hours early and made a total backup of SQL Server including all the system DB.
After the update, SQL Server would not work. The backup restores would not work. I paid the service charge to Microsoft to fix this. It was an all nighter. Once I got to the third SQL Server support person, he knew exactly what had happened. The Outlook had an undocumented DLL that affected SQL Server. After that, the DLL prevented even the backups to work properly. The existing system DB were also corrupted.
Lucky I had all of that on mey 64 GB flash drive!
He was able to help me copy the flash drive in, modify some settings and restore the company's DB. So, I know what it like to hold $1.3 Billion annually of a company's revenue in the palm of my hand. Oh yes, the Rx_ did go and discuss a wage increase plus a nice bonus for pulling an all-nighter with Microsoft. They appreciated the fact that I cared.
MS clearly warns not to run MS Outlook (or any other product) on the same server as Outlook runs.

Well, our Workstations can't be like an outlook server. So, strange things get installed and links get broken. Except for Citrix or Remote Terminal. They can be set up for a single purpose. Workstations are pretty much out of your control. So, maybe look for some code examples like the code above that can help you detect and correct.

B.T.W. Great work in discovering the problem. Hope your boss recognizes you too.
 
Thanks man for 'all' the sharing, appreciate!!.

If i get you rightly, the Function refExists requires you to know the name (naam) of ref before it can be used. And if the particular ref flags false, we have still to fix the problem.

I don't think i use outlook so i am not sure it is the culprit.

In anyway, i SOLVED the problem by totally uninstalling the runtime.07 and reinstall.

Any more views. Cheers!
 
It is good to document all the References.
The battlefield of the local workstation vs IT is one of the reasons IT prefers Web based products. The Web products may not provide the rich user environment that products like Access, Excel can offer. The Web products typically carry a much larger overhead in development for the same rich features, thus are not feasible for small groups under 100 in a company.
But, if the IT group suddenly pushes out Publisher 2013 to your users, it can affect registery values.
But, the IT group is typically the Nike' mentality "Just do it". In the old days, there was planning and configuration management. Now days, the IT group just does what they want and blame the local developers.
This means the IT group, not management, can determine business practices and the direction of a company.
It is a trend that probably won't change.

A company I worked for a few years ago did about $1.2 Billion in energy futures trading (thin margins) with a custom Access 2003 database and SQL Server back end. The very rich user interface with extremely customized modules gave them data in Excel for data mining. It provided them with a very unique edge based on actual data so a 20 person office could easily compete the major giants in the industry.
Then, the banker owner back East was told that he should convert to Oracle and to his competitor's standard web base - to be like the big competitors.
They spent $2.5 Million on the web software and DB installation plus about half of that to convert the SQL Data into the Oracle format.
I could see from my part in assisting the data conversion that the new web software never evaluated 2/3 of the data the custom Access/SQL Server db application evaluated. But, I am just a programmer and data analysist. The "web" was all the owner was sold on.
After they switched over, the 19 year old successful company had the same tool as its competitor with no advantage. They bankrupted in six months.
When business objectives bow down to IT objectives, this is not uncommon.

My guess is that you have to keep track of any changes to your workstation by yourself. Just fix it and don't complain. The IT staff will just blame Access as the easy way out.

I interviewed at a large Hospital Health Care management company where the manager employed about 120 Access programmers (and SQL Server). The Monday morning of the interview, he told me that over the weekend his IT group had pushed out Access 2007 over the Access 2000 across hundreds of his users.
It was just patient billing, care, and scheduling that was disrupted.
I had a better job offer that afternoon.
That was a good day. After accepting the next job offer, on the way home my car of 300,000 miles had the engine crack on the way home without warning. It was a good day because it could have broke earlier and made me miss the interviews.

My point is, it isn't just you. Use some of the very excellent resources on this site to learn about code to make your application pro-active to workstation changes.
It most likely wont' be the last time this happens.
 
Enjoyed reading your episodes.

On your advice to know your references & check it; funny though there is no reference in the mde to msain.dll at all so what's the significance?

I am always been tempted to move over to web based database programming such as jquery, php, mysql, etc. However due to the steep learning curve i have chosen to live with Access after having used it for ages.

Your episodes give me confidence to continue in Access world. I frequently get complaints about having to use a RunTime, what's your answer to this. The RunTime seems to diminish Access's edge.
 
Last edited:
The new Citrix offering for small enterprise is very interesing.
In the past Citrix had a larger intitial setup.
This is a very busy business cycle for me, so I have put off going to see the new Citrix presentations. They claim it is for smaller groups now.

Citrix only requires the end user install a ICA client.
Access is run in a Sandbox and stays securely on the server.
The "run-time" can be purely optional since the user can't touch it.
The ICA client is much thinner than Web based application.
It preserves the real-time and rich user interface.

My users are national, they use Apple and other devices with the ICA client in remote areas where bandwidth is just above dialup speeds.

If your user base is thousands concurrently logged in at once, the web can offer a soltuion. If your concurrent client log in are under 255, then Citrix might be cheaper in both hardware and development cost.
I first started using Citrix nationally with dial-up modems for Access with SQL Server back-end with Access 97.
The only remote insalltation was the Citrix ICA client. Regardless of the Windows version, Apple, and other OS, the ICA words the same.

In the Windows world, the Remote Terminal is available. My understanding is that they use Citrix as the partner for this. It is basically included on most Microsoft servers now. It requires more scripting. In a nutshell, Citrix offeres nicer user interfaces for administration.
 
Thanks again for the new direction to Citrix. Can you indulge me further with a quick over view (may you have already explained it for my slow head) and a lead to learn fast. I google and start to see Citrix Receiver. Getting excited over this route. :)
 

Users who are viewing this thread

Back
Top Bottom