Thursday, June 02, 2011 2:52 PM
VB2008 Express with a Access 2003 MDB - Application is distributed with the MS Access 2007 Runtime modules
Win 7 Pro 64-bit
Win XP SP3
Vista 32-bit SP2
When this application runs, users have the option of importing data from a xBase file. Doing so, the VB app calls a module in the MDB to do the import.
SOME users experience the following error:
Your database or project contains a missing or broken reference to the file "MSORUN.DLL".
We know that this is the Microsoft Office Runtime.
The VB project DOES NOT have a reference to this DLL and if I do add it, then check for unused references, this will appear in the unused reference list.
The error message may also appear when reports in the MDB are called.
Is it possible that the Access Runtime needs to call MSORUN.DLL?
Do I need to distribute this DLL with the application? The test machines BOTH have this DLL in the standard expected location of c:\program files\common files\microsoft shared\msorun (on 32-bit machines) or c:\program files (x86)\common files\microsoft shared\msorun. Both of the test machines have Office 2003 installed. Neither have Access installed. The development machine has Office 2003 and Access 2007 installed (Access 2003 is not installed).
On the development machine, MSORUN.DLL is version 12.0.6413.1000
On the XP machine & Vista machine, the MSORUN.DLL is version 11.0.8164
Some of the suggestions (many years old) suggest checking the MDB for missing references. On the development machine, that was done. There were no missing references.
ANY suggestions? Has anyone experienced this problem? Do I need to distribute the MSORUN.DLL? Do I need to add the reference to it in the VB project even if it is unused?
UPDATE - I spoke with a user at one of the installed sites - they do NOT have MSORUN.DLL installed. So how does this get installed? Should it be distributed with the app or is there a install package for this (like the install package for the Access Runtime)?
Friday, June 03, 2011 1:26 AM
After some further testing, the solution was to include msorun.dll in the install package. While it is not required for the VB2008 app and not directly required for the MDB file, it is apparent that it is needed. Perhaps its needed by the Access 2007 runtime, perhaps it IS needed by the MDB - only our friends at MS can answer that one.
If it IS needed by the Access 2007 runtime, I wonder why it is not installed when the Access 2007 runtime is installed.
- Marked As Answer by REdelman Friday, June 03, 2011 1:26 AM
Thursday, July 28, 2011 9:42 PM
After further testing, I have a partial solution ....
If the file is installed in \windows\system32 the problem is solved. I have tested this on XP and Vista. Not sure about Windows7 yet.
Friday, July 29, 2011 1:33 AM
After further testing .....
On a Win7 64-bit OS, it appears that MSORUN.DLL MUST be installed to \windows\syswow64
- Marked As Answer by REdelman Friday, July 29, 2011 1:33 AM
Thursday, September 06, 2012 11:35 AM
Can I place the MSORUN.dll of Office 2007 in Windows 7 machine?
Is there a version difference?
How can I resolve this ? Please help
Thursday, September 20, 2012 2:57 PMIf you have an XP box, you can find MSORUN.DLL in Program Files\Common Files\Microsoft Shared\MSORUN. Copy the file into Windows\System32 of your Windows 7 box.