Results 1 to 15 of 15

Thread: Program created in Windows XP not working in 2000

  1. #1

    Thread Starter
    Addicted Member
    Join Date
    Feb 2008
    Posts
    195

    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.

  2. #2

    Thread Starter
    Addicted Member
    Join Date
    Feb 2008
    Posts
    195

    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.

  3. #3
    I'm about to be a PowerPoster! Hack's Avatar
    Join Date
    Aug 2001
    Location
    Searching for mendhak
    Posts
    58,333

    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.

  4. #4
    Super Moderator si_the_geek's Avatar
    Join Date
    Jul 2002
    Location
    Bristol, UK
    Posts
    41,974

    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

  5. #5

    Thread Starter
    Addicted Member
    Join Date
    Feb 2008
    Posts
    195

    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.

  6. #6

    Thread Starter
    Addicted Member
    Join Date
    Feb 2008
    Posts
    195

    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?

  7. #7
    Super Moderator si_the_geek's Avatar
    Join Date
    Jul 2002
    Location
    Bristol, UK
    Posts
    41,974

    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 )

  8. #8

    Thread Starter
    Addicted Member
    Join Date
    Feb 2008
    Posts
    195

    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.

  9. #9
    Super Moderator si_the_geek's Avatar
    Join Date
    Jul 2002
    Location
    Bristol, UK
    Posts
    41,974

    Re: Program created in Windows XP not working in 2000

    Quote 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)

  10. #10

    Thread Starter
    Addicted Member
    Join Date
    Feb 2008
    Posts
    195

    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.

  11. #11
    Super Moderator si_the_geek's Avatar
    Join Date
    Jul 2002
    Location
    Bristol, UK
    Posts
    41,974

    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?

  12. #12

    Thread Starter
    Addicted Member
    Join Date
    Feb 2008
    Posts
    195

    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?

  13. #13
    Banned randem's Avatar
    Join Date
    Oct 2002
    Location
    Maui, Hawaii
    Posts
    11,385

    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.

  14. #14
    PowerPoster dilettante's Avatar
    Join Date
    Feb 2006
    Posts
    24,487

    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.

  15. #15
    Super Moderator si_the_geek's Avatar
    Join Date
    Jul 2002
    Location
    Bristol, UK
    Posts
    41,974

    Re: Program created in Windows XP not working in 2000

    Quote Originally Posted by dilettante
    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.
    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
  •  



Click Here to Expand Forum to Full Width