←  General Support

AutoPatcher Forum

»

Error trying to run Autopatcher

PaulB's Photo PaulB 19 Aug 2008

I have just tried to run Autopatcher Autopatcher_Win2k_May07_ENU_Core.exe and received the following error message

What AutoPatcher was trying to do
It appears that the error occured while AutoPatcher was trying to initialize the form's screens.

Where: frmMain.Form_Load()
Error Code: 0xB: Division by zero

I then discovered that Autopatcher is up and running again, so I uninstalled the old version and downloaded APUP.EXE, downloaded everything then tried again. Upon running Autopatcher I received exactly the same error message. I see that this error message has been mentioned before but I cannot find a solution mentioned. Does anybody have any ideas?

Thanks

Paul B
Quote

James's Photo James 19 Aug 2008

Hi PaulB

Glad to see you've rediscovered AutoPatcher.

Your problem is almost certainly a component registration error caused by the May 2007 version of AutoPatcher.

These instructions assume you are running a standard Windows 2000 installation:
[indent]1) Check that the files FM20.DLL and FM20ENU.DLL are in your C:\WINNT\SYSTEM32 folder and are dated 07-Oct-2007
2) If they are present, but have a different date, rename them to FM20.DLL.old and FM20ENU.DLL.old
3) If they are missing, copy the missing files from APUP's bin folder to C:\WINNT\SYSTEM32
4) In the run box (Start > Run) -- or at a Command Prompt -- type REGSVR32 FM20.DLL[/indent]
Make sure you are using the current (not May 2007 version) of autopatcher.exe and try again.

If it still fails you may need to re-register other components/OLE controls. Please report success or failure back here.

--



Edit: Corrected step 3.
Edited by James, 19 August 2008 - 09:17 PM.
Quote

PaulB's Photo PaulB 19 Aug 2008

View PostJames, on Aug 19 2008, 09:07 PM, said:

Hi PaulB

Glad to see you've rediscovered AutoPatcher.

Your problem is almost certainly a component registration error caused by the May 2007 version of AutoPatcher.

These instructions assume you are running a standard Windows 2000 installation:
[indent]1) Check that the files FM20.DLL and FM20ENU.DLL are in your C:\WINNT\SYSTEM32 folder and are dated 07-Oct-2007
2) If they are present, but have a different date, rename them to FM20.DLL.old and FM20ENU.DLL.old
3) If they are missing, copy the missing files from APUP's bin folder to C:\WINNT\SYSTEM32
4) In the run box (Start > Run) -- or at a Command Prompt -- type REGSVR32 FM20.DLL[/indent]
Make sure you are using the current (not May 2007 version) of autopatcher.exe and try again.

If it still fails you may need to re-register other components/OLE controls. Please report success or failure back here.

--



Edit: Corrected step 3.
Quote

PaulB's Photo PaulB 19 Aug 2008

Ok, I've done as you suggested and replaced FM20.DLL and FM20ENU.DLL from the C:\winnt\system32 folder with newer versions from Autopatcher/bin and registered FM20.DLL. I also tried to register FM20ENU.DLL but obtained an error message (fm20enu.dll was loaded but the DllRegistryServer entry point was not found). When I tried to run autopatcher after this I obtained the same error message as before. Then I tried replacing all the other files from the Autopatcher/bin folder (except MKLNK.EXE) and registered the four OCX files but not the DLLs which produced the earlier error message. This time when I tried to run autopatcher I got the error message 'Files Missing'. So then I ran APUP.EXE again and downloaded Autopatcher Updater 1.04 and Autopatcher Engine 5.6.81. Now when I tried to run autopatcher I got the original error message.

I didn't send a copy of the log before that came with the original error message. It reads.

Attempting to initialize common controls.
Accessing filesystem...
AutoPatcher 5.6 loaded the filesystem.

Detected English (1033) Windows 2000 Professional Service Pack 4

System Components:
Internet Explorer: 6.0.2800.1593
Windows Media Player:
.NET Framework: 1.1.4322|1.1SP1|2.0.50727.42|2.0SP0
Windows Installer: 3.1.4000.1823
DirectX: 4.09.00.0904
MSN/Live Messenger:

Office Components:
Microsoft Word: 8.0.0.3514
Microsoft Excel:
Microsoft PowerPoint:
Microsoft Outlook:
Microsoft Access:
Microsoft Project:
Microsoft Publisher:
Microsoft OneNote:
Microsoft FrontPage:
Microsoft InfoPath:
Microsoft Visio:
Microsoft SharePoint Designer:
Microsoft Groove:


Best wishes

Paul B
Quote

James's Photo James 20 Aug 2008

Thanks for the report back. It probably feels as if you are going round in circles at the moment, since you now have the original error message again.

<sigh> This process would be SO much easier if I could do it by remote access. Never mind -- let's try again.

First some comments on what you've done so far:

View PostPaulB, on Aug 19 2008, 10:43 PM, said:

... I've ... replaced FM20.DLL and FM20ENU.DLL ...
Good. Since you have Word 8 installed, it will have installed and registered the older version of FM20.DLL

PaulB, on Aug 19 2008, 10:43 PM, said:

I also tried to register FM20ENU.DLL but obtained an error message ...
No harm done. You've just discovered by trial-and-error why I only asked for one file to be registered and not the other.

PaulB, on Aug 19 2008, 10:43 PM, said:

Then I ... registered the four OCX files but not the DLLs ...
OK. You can see what I'm trying to do, but it's a little more complicated than that, because there is no obvious logic as to which files to register. Try this step too:[indent]REGSVR32 SSubTmr6.dll[/indent]For the record: As well as the four .OCX files, SSubTmr6.dll will register, but aamd532.dll will not.

If AutoPatcher still fails after this step, it becomes quite difficult. The trouble with registering and re-registering controls is that some of them make extensive alterations to the Registry. In some cases hundreds of registry entries are changed.

The next step would be to undo everything that has happened right back to (and including) the Autopatcher_Win2k_May07_ENU_Core install. In Windows XP, that would mean going back to a Restore Point -- but Windows 2000 doesn't have this facility.

To try and undo the Registry manually means running REGSVR32 with the /U option (/U = UNinstall). This would have to be done in reverse order: first doing this for all the current registered files, then (2) moving them out of the SYSTEM32 folder, (3) renaming the .old files back to their original names, (4) UNregistering these as well (5) moving these out of SYSTEM32 as well, finally (6) running the latest autopatcher.exe again, so that it can install itself and register its components automatically.

If you need some backgroung information on REGSVR32.EXE, then Microsoft have a relevant KB article: KB249873 Explanation of Regsvr32 usage and error messages

It goes without saying, that you must do all of these steps from an acount with Administrator privileges, otherwise the registry alterations (behind the scenes) may fail.

If autopatcher works at this point, you can tidy up by deleting all the files moved out of SYSTEM32.

--



Edit: corrected minor typos
Edited by James, 20 August 2008 - 07:04 AM.
Quote

PaulB's Photo PaulB 20 Aug 2008

Ok. I have unregistered the following files:
COMCTL32.OCX
COMDLG32.0CX
FM20.DLL
MSCOMCTL.OCX
RICHTX32.OCX
SSUBTMR6.OCX

These two would not unregister:
AAMD532.DLL
FM20ENU.DLL

The procedure I carried out was to unregister all the new versions of the files, where they would unregister, then delete all eight from \winnt\system32. I then copied back the versions I had found there when the problem first arose, unregistered the six that would unregister and then deleted all eight again. After than I unzipped APUP.EXE and APUP_BIN to d:\autopatcher, ran apup.exe and downloaded the new version of autopacher.exe (but no windows 2000 files) then ran autopatcher.exe. At this point I got an error message telling me that COMCTL32.OCX or one of its components was not registered correctly. I ran autopatcher.exe again and I was back to the original error message.

Are there any other dependences that I can unregister and reregister? Also do I need to run vbrun60sp6.exe? Would it help to try and find a version of autopatecher before May 2007 and try to run that?

The May07 version of Autopatcher did work since I used it earlier this year to build this system. However a lot of software was added after Autopatcher and this is the first time I have tried to use it again. Regarding restore points, I do have my own restore point for Windows 2000 but it only goes back a couple of weeks.

Curiously, I have also just installed W2000 on a new laptop, replacing XP which it arrived with. This has much the same configuration as the desktop machine which is causing the current problem but Autopatcher still works there. I don't know if there is any way of comparing one system to the other in order to try and pinpoint the problem. Both were created with the May07 autopatcher. (Now I know that Autopatcher is available again I should update the laptop, but I will wait until the current problem is resolved.)

Thanks

Paul B

l
Quote

PaulB's Photo PaulB 20 Aug 2008

Following on from my last message I have compared files on my laptop and those that were on the desktop that is causing the problem. I found that two of the files on the desktop (COMDLG32.OCX AND MSCOMCTL.OCX) had dates 14/07/2004 whereas on the laptop they are 12/03/2007. To see if it made any difference I unregistered and deleted from Winnt\system32 the eight files from the previous post, copied across the later files from the laptop then unregistered and deleted these and ran autopatcher again. No change, unfortunately. First an error message about COMCTL32.OCX and then on the second try, the same error message as I reported first.

Paul B
Quote

James's Photo James 20 Aug 2008

View PostPaulB, on Aug 20 2008, 03:22 PM, said:

... The May07 version of Autopatcher did work since I used it earlier this year to build this system. However a lot of software was added after Autopatcher and this is the first time I have tried to use it again. ...

Well that changes everything. It would be a very good idea to run vbrun60sp6.exe in that case.

--
Quote

PaulB's Photo PaulB 20 Aug 2008

I've just been through the cycle again, unregistering all the dlls and ocxs, running APUP.EXE, and then running vbrun60sp6.exe. No change. I still get the same message when running autopatcher.exe.

Paul B
Quote

PaulB's Photo PaulB 21 Aug 2008

I've begun to wonder if my problelm is something other than ther registration problems with May 07. I have several standard services disabled in Windows 2000 and I wonder if Autopatcher needs them, or at least is perplexed by their absence. The main ones I have disabled are:

Automatic Updates
BAckground intelligent transfer service
Indexing Service
Messenger
Remote Registry Service
Routing and Remote Access
Windows Time

Is it likely that these would affect autopatcher?

Paul B
Quote

James's Photo James 21 Aug 2008

View PostPaulB, on Aug 21 2008, 08:51 AM, said:

I've begun to wonder if my problelm is something other than ther registration problems with May 07.
I'm already thinking this -- that's what I meant by "... that changes everything". I had assumed that the problem occurred as soon as you used Autopatcher_Win2k_May07_ENU_Core (as it did to others over a year ago).

It's time to stop the registering unregistering process and leave that part alone:
1) Copy the four .OCX and four .DLL files from AutoPatcher's BIN folder to SYSTEM32
2) Register (with REGSVR32) the four .OCX files and also FM20.DLL and SSubTmr6.dll (total: 6 files to register)

Don't worry about the dates of the files, it's the versions that are important. A lot of the files have their dates set manually to a date chosen by the programmer. Later date does not imply later version.

3) vbrun60sp6.exe you have already run. That sorts out the VB runtime library and a further few OLE controls.

What I'm trying to do here (and in previous posts) is get most of the known dependencies into a known state. Now, looking further, it becomes next to impossible for me to guide you in the next steps over a forum, because from here I can't see the big picture, not do I know what software is installed, in what order and so on.

If this were happening to me I would now be looking at the interactions with other installs and I would probably start using Dependency Walker -- with profiling as none of the controls show up in the static dependency tree.

I don't think disabling the 7 services you have listed is the cause.

--
Quote

PaulB's Photo PaulB 21 Aug 2008

Right. I've registered all the dlls and ocxs. I've downloaded Dependency Walker and run it with profiling on autopatcher.exe. The trouble is, I don't understand what it is telling me, and particularly why I am seeing REGXVR32.EXE run. The log it produces of events is as follows (I've highlighted the two errors in red):

Starting profile on 21/08/2008 at 12:46:25

Operating System: Microsoft Windows 2000 Professional (32-bit), version 5.00.2195 Service Pack 4
Program Executable: c:\winnt\system32\REGSVR32.EXE
Program Arguments: /s SSUBTMR6.DLL
Starting Directory: D:\Autopatcher\
Search Path: C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;D:\xy4;D:\xy3;D:\NBWIN;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static

Options Selected:
Log DllMain calls for process attach and process detach messages.
Hook the process to gather more detailed dependency information.
Log LoadLibrary function calls.
Log GetProcAddress function calls.
Log debug output messages.
Automatically open and profile child processes.
--------------------------------------------------------------------------------

Started "REGSVR32.EXE" (process 0x448) at address 0x01000000. Successfully hooked module.
Loaded "NTDLL.DLL" at address 0x77F80000. Successfully hooked module.
Loaded "MSVCRT.DLL" at address 0x78000000. Successfully hooked module.
Loaded "KERNEL32.DLL" at address 0x7C570000. Successfully hooked module.
Loaded "ADVAPI32.DLL" at address 0x7C2D0000. Successfully hooked module.
Loaded "RPCRT4.DLL" at address 0x77D30000. Successfully hooked module.
Loaded "USER32.DLL" at address 0x77E10000. Successfully hooked module.
Loaded "GDI32.DLL" at address 0x77F40000. Successfully hooked module.
Loaded "OLE32.DLL" at address 0x7CE20000. Successfully hooked module.
Entrypoint reached. All implicit modules have been loaded.
DllMain(0x7C570000, DLL_PROCESS_ATTACH, 0x0006FD30) in "KERNEL32.DLL" called.
DllMain(0x7C570000, DLL_PROCESS_ATTACH, 0x0006FD30) in "KERNEL32.DLL" returned 1 (0x1).
Injected "DEPENDS.DLL" at address 0x08370000.
DllMain(0x08370000, DLL_PROCESS_ATTACH, 0x00000000) in "DEPENDS.DLL" called.
DllMain(0x08370000, DLL_PROCESS_ATTACH, 0x00000000) in "DEPENDS.DLL" returned 1 (0x1).
DllMain(0x78000000, DLL_PROCESS_ATTACH, 0x0006FD30) in "MSVCRT.DLL" called.
GetProcAddress(0x7C570000 [KERNEL32.DLL], "IsProcessorFeaturePresent") called from "MSVCRT.DLL" at address 0x78001EAA and returned 0x7C597B45.
DllMain(0x78000000, DLL_PROCESS_ATTACH, 0x0006FD30) in "MSVCRT.DLL" returned 1 (0x1).
DllMain(0x77D30000, DLL_PROCESS_ATTACH, 0x0006FD30) in "RPCRT4.DLL" called.
LoadLibraryA("kernel32.dll") called from "RPCRT4.DLL" at address 0x77D87E19.
LoadLibraryA("kernel32.dll") returned 0x7C570000.
GetProcAddress(0x7C570000 [KERNEL32.DLL], "InterlockedCompareExchange") called from "RPCRT4.DLL" at address 0x77D87E29 and returned 0x7C57B5FC.
DllMain(0x77D30000, DLL_PROCESS_ATTACH, 0x0006FD30) in "RPCRT4.DLL" returned 1 (0x1).
DllMain(0x7C2D0000, DLL_PROCESS_ATTACH, 0x0006FD30) in "ADVAPI32.DLL" called.
DllMain(0x7C2D0000, DLL_PROCESS_ATTACH, 0x0006FD30) in "ADVAPI32.DLL" returned 1 (0x1).
DllMain(0x77E10000, DLL_PROCESS_ATTACH, 0x0006FD30) in "USER32.DLL" called.
DllMain(0x77E10000, DLL_PROCESS_ATTACH, 0x0006FD30) in "USER32.DLL" returned 28311553 (0x1B00001).
DllMain(0x7CE20000, DLL_PROCESS_ATTACH, 0x0006FD30) in "OLE32.DLL" called.
GetProcAddress(0x77D30000 [RPCRT4.DLL], "I_RpcForcePickleCleanup") called from "OLE32.DLL" at address 0x7CEE2BE6 and returned 0x77D38159.
GetProcAddress(0x77F80000 [NTDLL.DLL], "NtQuerySystemInformation") called from "RPCRT4.DLL" at address 0x77D87B65 and returned 0x77F889DC.
GetProcAddress(0x77F80000 [NTDLL.DLL], "NtOpenFile") called from "RPCRT4.DLL" at address 0x77D87B80 and returned 0x77F886AC.
GetProcAddress(0x77F80000 [NTDLL.DLL], "RtlInitUnicodeString") called from "RPCRT4.DLL" at address 0x77D87B8D and returned 0x77FABE9C.
DllMain(0x7CE20000, DLL_PROCESS_ATTACH, 0x0006FD30) in "OLE32.DLL" returned 1 (0x1).
LoadLibraryExA("SSUBTMR6.DLL", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) called from "REGSVR32.EXE" at address 0x01001932.
Loaded "SSUBTMR6.DLL" at address 0x2E8C0000. Successfully hooked module.
Loaded "MSVBVM60.DLL" at address 0x66000000. Successfully hooked module.
Loaded "OLEAUT32.DLL" at address 0x779B0000. Successfully hooked module.
DllMain(0x779B0000, DLL_PROCESS_ATTACH, 0x00000000) in "OLEAUT32.DLL" called.
GetProcAddress(0x7C570000 [KERNEL32.DLL], "IsTNT") called from "OLEAUT32.DLL" at address 0x77A23F12 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C570000 [KERNEL32.DLL], "IsProcessorFeaturePresent") called from "OLEAUT32.DLL" at address 0x77A272EB and returned 0x7C597B45.
GetProcAddress(0x7C570000 [KERNEL32.DLL], "SetCriticalSectionSpinCount") called from "OLEAUT32.DLL" at address 0x779C83EB and returned 0x77F8EFA2.
GetProcAddress(0x7C570000 [KERNEL32.DLL], "SetCriticalSectionSpinCount") called from "OLEAUT32.DLL" at address 0x779C83EB and returned 0x77F8EFA2.
LoadLibraryA("C:\WINNT\system32\ole32.dll") called from "OLEAUT32.DLL" at address 0x77A0FA9E.
LoadLibraryA("C:\WINNT\system32\ole32.dll") returned 0x7CE20000.
GetProcAddress(0x7CE20000 [OLE32.DLL], "DcomChannelSetHResult") called from "OLEAUT32.DLL" at address 0x77A0FAB3 and returned 0x7CE6C864.
DllMain(0x779B0000, DLL_PROCESS_ATTACH, 0x00000000) in "OLEAUT32.DLL" returned 1 (0x1).
DllMain(0x66000000, DLL_PROCESS_ATTACH, 0x00000000) in "MSVBVM60.DLL" called.
GetProcAddress(0x7C570000 [KERNEL32.DLL], "IsTNT") called from "MSVBVM60.DLL" at address 0x66001BD5 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C570000 [KERNEL32.DLL], "IsProcessorFeaturePresent") called from "MSVBVM60.DLL" at address 0x66002832 and returned 0x7C597B45.
DllMain(0x66000000, DLL_PROCESS_ATTACH, 0x00000000) in "MSVBVM60.DLL" returned 1 (0x1).
DllMain(0x2E8C0000, DLL_PROCESS_ATTACH, 0x00000000) in "SSUBTMR6.DLL" called.
DllMain(0x2E8C0000, DLL_PROCESS_ATTACH, 0x00000000) in "SSUBTMR6.DLL" returned 1 (0x1).
LoadLibraryExA("SSUBTMR6.DLL", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) returned 0x2E8C0000.
GetProcAddress(0x2E8C0000 [SSUBTMR6.DLL], "DllRegisterServer") called from "REGSVR32.EXE" at address 0x010019D8 and returned 0x2E8C2C58.
GetProcAddress(0x7CE20000 [OLE32.DLL], "CoCreateInstanceEx") called from "OLEAUT32.DLL" at address 0x77A0FC47 and returned 0x7CE3C281.
LoadLibraryA("oleaut32.dll") called from "OLE32.DLL" at address 0x7CE476DF.
LoadLibraryA("oleaut32.dll") returned 0x779B0000.
LoadLibraryW("rpcrt4.dll") called from "RPCRT4.DLL" at address 0x77D37993.
LoadLibraryW("rpcrt4.dll") returned 0x77D30000.
DllMain(0x2E8C0000, DLL_PROCESS_DETACH, 0x00000000) in "SSUBTMR6.DLL" called.
DllMain(0x2E8C0000, DLL_PROCESS_DETACH, 0x00000000) in "SSUBTMR6.DLL" returned 1 (0x1).
DllMain(0x66000000, DLL_PROCESS_DETACH, 0x00000000) in "MSVBVM60.DLL" called.
DllMain(0x66000000, DLL_PROCESS_DETACH, 0x00000000) in "MSVBVM60.DLL" returned 1 (0x1).
Unloaded "SSUBTMR6.DLL" at address 0x2E8C0000.
Unloaded "MSVBVM60.DLL" at address 0x66000000.
DllMain(0x779B0000, DLL_PROCESS_DETACH, 0x00000000) in "OLEAUT32.DLL" called.
DllMain(0x779B0000, DLL_PROCESS_DETACH, 0x00000000) in "OLEAUT32.DLL" returned 1 (0x1).
Unloaded "OLEAUT32.DLL" at address 0x779B0000.
DllMain(0x08370000, DLL_PROCESS_DETACH, 0x00000001) in "DEPENDS.DLL" called.
DllMain(0x08370000, DLL_PROCESS_DETACH, 0x00000001) in "DEPENDS.DLL" returned 1 (0x1).
DllMain(0x7CE20000, DLL_PROCESS_DETACH, 0x00000001) in "OLE32.DLL" called.
DllMain(0x7CE20000, DLL_PROCESS_DETACH, 0x00000001) in "OLE32.DLL" returned 1 (0x1).
DllMain(0x77E10000, DLL_PROCESS_DETACH, 0x00000001) in "USER32.DLL" called.
DllMain(0x77E10000, DLL_PROCESS_DETACH, 0x00000001) in "USER32.DLL" returned 1 (0x1).
DllMain(0x7C2D0000, DLL_PROCESS_DETACH, 0x00000001) in "ADVAPI32.DLL" called.
DllMain(0x7C2D0000, DLL_PROCESS_DETACH, 0x00000001) in "ADVAPI32.DLL" returned 1 (0x1).
DllMain(0x77D30000, DLL_PROCESS_DETACH, 0x00000001) in "RPCRT4.DLL" called.
DllMain(0x77D30000, DLL_PROCESS_DETACH, 0x00000001) in "RPCRT4.DLL" returned 1 (0x1).
DllMain(0x78000000, DLL_PROCESS_DETACH, 0x00000001) in "MSVCRT.DLL" called.
DllMain(0x78000000, DLL_PROCESS_DETACH, 0x00000001) in "MSVCRT.DLL" returned 1 (0x1).
DllMain(0x7C570000, DLL_PROCESS_DETACH, 0x00000001) in "KERNEL32.DLL" called.
DllMain(0x7C570000, DLL_PROCESS_DETACH, 0x00000001) in "KERNEL32.DLL" returned 1 (0x1).
Exited "REGSVR32.EXE" (process 0x448) with code 0 (0x0).
Quote

PaulB's Photo PaulB 21 Aug 2008

I've just run Dependency Walker on my laptop which has a working version of Autopatcher May 07. The only difference that I can see between the two profiles is that the version of MSVBVM60.DLL on the laptop has a file time stamp of 19/06/2003 whereas the one on the problem desktop has 23/02/04. Both exit at exactly the same place, but the one that fails exits as follows:

Exited "REGSVR32.EXE" (process 0x498) with code 0 (0x0).

While the one that works exits:

Exited "REGSVR32.EXE" (process 0x5B4) with code 0 (0x0).

As I said before, unfortunately I have no idea if this is significant and if so, what it means.

Any help appreciated.

Paul B
Quote

PaulB's Photo PaulB 21 Aug 2008

Oops. I see that regsvr32.exe is a daugher process of autopatcher.exe which Depemdency Walker has also profiled. I suspect that the log from my preceeding post but one is of no value. However when I compare the logs from the version of Autopatcher that works and the one that does not I can see little difference except that one exits with:

Exited "AUTOPATCHER.EXE" (process 0x168) with code -1 (0xFFFFFFFF).

While the other exits with a code zero.

I am beginning to find this completely baffling.

Paul B
Quote

PaulB's Photo PaulB 22 Aug 2008

It looks as if this topic is running out of steam. I suppose I will have to either rinstall or do without Autopatcher. I noted from my searches on the error I was receiving and by looking through the forum that this same problem has cropped up two or three times before, without resolution. Windows 2000 is a bit aged now, I suppose, and may not be a high priority but it is relatively stable, easy to set up, easy to reinstall and runs everything I have ever tried to run on it -- except it seems Autopatcher. I presume this sort of problem must occur often but I have never before come across a program that if it suddenly failed in this way, did not recover after being removed and reinstalled.

Anyway, thanks to James for his attempts to try and solve the problem.

Paul B
Quote

James's Photo James 26 Aug 2008

Hi again,
I was away for a few days, but it's true I was coming to the end of things we can try via a Forum.

Looking at your last three posts, I hadn't really expected you to run Dependency Walker, so thanks for trying.

Here's an explanation of the loose ends:

The failed calls (GetProcAddress(0x7C570000 [KERNEL32.DLL], "IsTNT") are not relevant. This is a very old system call that is no longer implemented. The reason why it can be ignored is explained on the Dependency Walker FAQ page.

For MSVBVM60.DLL (which is the main run-time DLL for Visual Basic 6) a file date of 19/06/2003 tells me this file came with Windows 2000 Service Pack 4. A file date of 23/02/04 tells me that you ran vbrun60sp6.exe. Both work for me.

"Exited "REGSVR32.EXE" (process 0xNNN) with code 0 (0x0)" means the process ran successfully. That just means that the problem is somewhere else.

"Exited "AUTOPATCHER.EXE" (process 0x168) with code -1 (0xFFFFFFFF)." simply means that AutoPatcher crashed. I think we already know that!! (A zero exit code means it ran successfully, as above)

View PostPaulB, on Aug 22 2008, 01:36 PM, said:

Windows 2000 is a bit aged now, I suppose, and may not be a high priority but it is relatively stable, easy to set up, easy to reinstall and runs everything I have ever tried to run on it -- except it seems Autopatcher. I presume this sort of problem must occur often but I have never before come across a program that if it suddenly failed in this way, did not recover after being removed and reinstalled.
I have Windows 2000 and AutoPatcher running on several systems so for me this is not common at all. I've tried deleting or moving various files and folders, but so far I am unable to duplicate what is happening to you.

One final point occurs to me. What is in your modules folder? If you rename or move this folder temporarily, then for me AutoPatcher doesn't crash, but just reports that there is nothing for it to do.

--
Quote

PaulB's Photo PaulB 29 Aug 2008

I've tried renaming the modules folder, with the same result as before. I think Autopatcher crashes before it gets to the stage of looking for modules. One possible source of my problem could be an old version of Encyclopedia Britannica (BCD 98) which I have installed. This appears to try to install several of the same DLLs as Autopatcher (those in the BIN folder). Removing it does not help but I wonder if its installation causes problems for Autopatcher. (Of course I can't find out without reinstalling.)

Paul B
Quote

James's Photo James 29 Aug 2008

It's a possibility.

Especially if BCD 98 actually succeeds in putting old versions of the DLL/OCX files in SYSTEM32.

An old version of Comctl32.ocx + Mscomctl.ocx is known to cause a crash and/or a Divide by Zero error under certain (rather complicated) circumstances.

--
Quote

Erik Ramey's Photo Erik Ramey 29 Aug 2008

What ocx versions do you have installed? I believe with one of the earlier releases, Antonis created code that would copy and register the appropriate versions.
Quote

PaulB's Photo PaulB 31 Aug 2008

The versions I have in WINNT of all the files in Autopatcher/Bin are:

aamd532.dll 1.0.0.1 12/03/2007
comctl32.ocx 6.0.81.5 12/03/2007
comdlg32.ocx 6.1.97.82 14/07/2004
fm20.dll 11.0.5601.0 12/03/2007
fm20emu.dll 1100.5510.0 12/03/2007
mscomctl.ocx 6.1.97.82 14/07/2004
richtx32.ocx 6.1.97.82 12/03/2007

And for VB6:

advpack.dll 6.1.97.82 14/07/2004
asycfilt.dll 2.40.4522.0 19/06/2003
comcat.dll 6.0.2800.1106 24/08/2002
msvbvm60.dll 6.0.97.82 23/02/2004
oleaut32.dll 2.40.4522.0 19/06/2003
olepro32.dll 2.40.4522.0 19/06/2003
stdole2.tlb 2.40.4522.0 19/06/2003
vbrun60.imf does not exist in WINNT


These file versions and dates are all taken from a restore point before I discovered that Autopatcher did not run and before I started trying to copy different files in order to try and get it to work. Incidentally some of the internal dates in the files do not match those that my file manager finds. comdlg32.ocx and richtx32.ocx have internal dates of February 23 2004 and comctl32.ocx has an internal date of 11 October 1999.

Sorry file, versions and dates are squashed together. I can't find a way to separate them.

Paul B
Quote