|
-
Feb 14th, 2008, 01:10 PM
#1
Thread Starter
Addicted Member
Program created in Windows XP not working in 2000
Hey everyone,
i've completed my program at last, its all good and i've learnt some basic VB stuff now.
Anyways, I seem to have a problem. I have used the application and deployment wizard to create a setup and I put it on disk (created this in XP). I then put the disk in a Windows 2000 computer and it goes through the motions, but then I get something like following message:
"the files on your system are out of date, would you like to install the updated files. You must restart to continue installation."
I get some sort of message like the above. But when I restart and try and run the setup again it just gives me the same message. I have looked in the temp folder and notice that 3 of the .dll's appear there along with the program files, but the rest of the dll's seem to not be there.
I'm guessing that the first step of the setup is to copy the dll's, hence the other dll's have already been copyied. But then it stops because it cannot copy the other dll's and puts all my program files and the remaining dll's in the temp folder?.
I have also tried deleting the folder within the temp folder and checked autoexec.bat (autoexec.bat is empty).But whatever I do it just doesnt work. Now i'm starting to think that its something to do with the 3 dll's in the temp folder and compatibility with Windows 2000.
Any ideas would be greatly appreciated, thanks (* I will just go and find out what the dll's are, might help)
Last edited by jbennett; Feb 14th, 2008 at 01:14 PM.
-
Feb 14th, 2008, 01:19 PM
#2
Thread Starter
Addicted Member
Re: Program created in Windows XP not working in 2000
Oh and by the way, if I delete the temp files and run it again it puts the exact same files back in there (I guess it puts the dll's it didn't copy and the program there to be installed upon restart?)
anyways, here are the files that appear in the temp folder:
1 - scrrun.dll
2- mscrvt.dll
3- wshom.ocx
4 - and all the program files
Last edited by jbennett; Feb 14th, 2008 at 01:24 PM.
-
Feb 14th, 2008, 01:25 PM
#3
Re: Program created in Windows XP not working in 2000
I just dealt with this same problem elsewhere a day or so ago.
That turned out to be MDAC related. Once MDAC, on the Win2000 box, was updated to the lastest release, the problem was solved.
-
Feb 14th, 2008, 01:28 PM
#4
Re: Program created in Windows XP not working in 2000
Thread moved to Application Deployment forum
The error you are getting is a known problem, and the solution is in our Application Deployment FAQ (at the top of this forum).
Last edited by si_the_geek; Feb 14th, 2008 at 01:35 PM.
Reason: fixed typos
-
Feb 14th, 2008, 01:35 PM
#5
Thread Starter
Addicted Member
Re: Program created in Windows XP not working in 2000
I had a look at the FAQ but I found this via a google search earlyier today. Tried everything on that microsoft page, so I'm presuming its this MDAC thing?. I guess I need to download and install it?.
Update
---------------
Then again I didn't try the Mdac_Typ.exe.
I guess this is more than likely the issue. Is there any way that I could have this on the same disk so its streamlined within the installation. The problem is that it will be given to several users with identical PCs and would be nice if it could just be a simple 1 disk job. Any ideas?
Last edited by jbennett; Feb 14th, 2008 at 01:39 PM.
-
Feb 14th, 2008, 01:53 PM
#6
Thread Starter
Addicted Member
Re: Program created in Windows XP not working in 2000
one other thing. It mentions something about Microsoft ActiveX Data Objects 2.x Library on that microsoft support page.
I don't have this ticked in references on my project, is this another issue?
-
Feb 14th, 2008, 02:03 PM
#7
Re: Program created in Windows XP not working in 2000
As you aren't using ADO, you probably don't need MDAC (which installs ADO and various other database related things).
I just noticed your edit to list the DLL's, and notice at least one you should not be distributing - mscrvt.dll
I'm not sure about scrrun.dll, but I think you shouldn't distribute that either.
(they should be listed on the MS page, but aren't for some reason )
-
Feb 14th, 2008, 02:17 PM
#8
Thread Starter
Addicted Member
Re: Program created in Windows XP not working in 2000
scrrun.dll was added due to the fact that i'm using wsShell.
Not sure about the other file you mention, it just seems to appear in the package once its created, and I deffinately didn't add it as far as i'm aware?. I think I may have spelt it wrong (msvcrt.dll), is it easy to remove the file from the installation package, cant seem to find it in references?
Just done a search on MDAC 2.5 SP3 and found this:
http://support.microsoft.com/kb/842176
If you scroll down theres a mention of some files that i'm having an issue with, and if I remember rightly, these are the files that seem to appear as older on the PC system32 than on my installation disk.
Last edited by jbennett; Feb 14th, 2008 at 02:21 PM.
-
Feb 14th, 2008, 02:45 PM
#9
Re: Program created in Windows XP not working in 2000
 Originally Posted by jbennett
I think I may have spelt it wrong (msvcrt.dll)
You did, and I copied & pasted it without noticing!
msvcrt.dll is the one you should not be distributing.. but I don't know how to remove it from your package, as I don't use the same packaging tool (I use Visual Studio Installer, which doesn't have that issue)
-
Feb 14th, 2008, 03:35 PM
#10
Thread Starter
Addicted Member
Re: Program created in Windows XP not working in 2000
Do you think MDAC 2.5 is worth a try then?.
Cant think of anything else I can do.
-
Feb 14th, 2008, 03:42 PM
#11
Re: Program created in Windows XP not working in 2000
Does your program work with databases at all? If not, you do not need MDAC.
If it does work with databases, what technology are you using to connect?
-
Feb 14th, 2008, 03:58 PM
#12
Thread Starter
Addicted Member
Re: Program created in Windows XP not working in 2000
No, my program doesn't use databases. From investigation I can see that the dll's already exist, its just the fact that these .dll's on my disk are newer than the ones on the windows 2000 PC.
Well thats all I can think it can be, and maybe if I use the package and deployment wizard on a windows 2000 PC that would then use the older dll's and prevent this issue?
-
Feb 24th, 2008, 03:44 AM
#13
Re: Program created in Windows XP not working in 2000
You shouldn't be distributing scrrun.dll either. Distribute the whole scripting runtime...
I have cover these things hundreds of times...
With PDW install the universal runtime files or VBrun60.exe
Last edited by randem; Feb 24th, 2008 at 03:49 AM.
-
Feb 24th, 2008, 11:45 AM
#14
Re: Program created in Windows XP not working in 2000
I agree with pretty much all of the advice given so far.
The VC Runtime (msvcrt.dll) should not be distributed. See PRB: Your Computer Does Not Restart After You Install a Microsoft Visual Basic 6.0 Application That Includes a MSVCRT.dll File. The code in that DLL is OS-specific.
Windows Scripting components should never be installed individually. You should list the required version of scripting and ask users to install it before running your setup, or use a packaging tool that allows you to roll in the full Scripting installation package.
Microsoft no longer recommands the latter alternative. Once again, this is OS-specific code so it is hazardous to include individual component files in your setup.
I have no clue why people are playing around with MDAC components anymore. Perhaps you're trying to support OSs prior to Win2K?
MDAC is part of the OS now, and normally updated via Windows Update. You can still roll in full MDAC install as mentioned for Scripting, but this is also deprecated. Tell the user what MDAC is required and make them take responsibility for it.
By the way: Windows 2000 shipped with MDAC 2.5, and there is no reason for most programs to require a later version. Every time a later version of MDAC is installed as an update (or comes with a newer OS) Microsoft includes a "shim" for ADO to make sure it uses the newest available version. If your program has a reference to ADO 2.5 Library it should run fine on any computer with MDAC 2.5 or later installed. Each MDAC installs a set of TLBs with the Class IDs matching ADO 2.5, ADO 2.6, ADO 2.7, all the way up to ADO 6.0 in Vista. These TLBs "point to" the newest ADO DLL on the system.
So unless you know your program uses some new feature of a later ADO version (which are very few) you can target ADO 2.5 and run fine anywhere. The majority of changes since ADO 2.5 were for bug fixes, security, and performance. Most of the rest of the changes since MDAC 2.5 related to new versions of SQL Server.
If you really want your program to run with a later MDAC release, have the user install it. There are cases where some existing software has been broken by installing a later MDAC version, and you don't want to be responsible for that mess.
BUG: MDAC 2.6 Breaks Localized Error Message on a MUI Computer
INFO: Do Not Remove MDAC 2.7 from Windows XP
PRB: Installing Third-Party Product Breaks Windows 2000 MDAC Registry Settings
XADM: MDAC 2.6 Breaks ADO MoveNext() Function with Exchange 2000
... and the list goes on.
-
Feb 24th, 2008, 12:52 PM
#15
Re: Program created in Windows XP not working in 2000
 Originally Posted by dilettante
That's a good article - I've added the link to the FAQs at the top of this forum.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|