Jump to content

To do list for 2.0 FINAL


Gape

Recommended Posts

Currently, we don't see what you are working with, just the "innards".  I assume that for the W32 self-extracter package itself you are writing some kind of script file to for it to carry out a few list items [run batches, use .inf files, etc. I would presume], and it supports EULA's and options like /C, etc.

Can you give us an example of "what's under the hood" that particularizes the package as you are releasing it currently [say for 1.6.2 since 2.0 is not yet stable, etc.]?

For the future, what's wrong with just using self-extracting .ZIP archives?  That way we can unzip and not execute [analogous to /C] or just let 'r rip, etc.?

cjl

SP's installer (both 1.x and 2.0) is totally based on INFs and a BATCH script. You can easily see these files inside the SP's EXE.

To build EXE, I use IEXPRESS package which uses Microsoft's CAB/LZX compressing technology.

With INF, you can detect only THREE state of a file when you copying it.

1- COPY IT (NO RESTRICTION).

2- COPY IT, ONLY IF FILE EXISTS.

3- COPY IT, ONLY IF FILE OLDER.

Generally, my INF installer is based on 2 and 3 (you can use both of them for a file). If a file doesn't exist, installer doesn't copy it. But because of "preserving" mechanism of Windows 98, if system needs this file later, it is copied from SP1.CAB, not from setup CABs. Preserving mechanism is not mine, it's from Microsoft. So, its details are not totally clear. But it works.

On the other hand, Microsoft's hot-fixes installs all files without checking ANYTHING. (You explained this in detail on your first post.)

Some hot-fixes has problems. For example, Q311561 has a registry corruption problem on some systems. I found a fix (a MSDOS.SYS setting) for eliminating it, and added this setting into SP 1.6.x and 2.0.

Of course if you want, you can install each hot-fix seperately. I don't claim that SP is perfect.

About future, I can't detect with INF that a file is installed or not installed. But for adding properly QFE information, I need to know that.

Link to comment
Share on other sites


SP's installer (both 1.x and 2.0) is totally based on INFs and a BATCH script. You can easily see these files inside the SP's EXE.

I see the pieces [used powerarchiver on the .exe] but I don't see what ties it together. Where does it start?

cjl

Link to comment
Share on other sites

I see the pieces [used powerarchiver on the .exe] but I don't see what ties it together.  Where does it start?

cjl

IExpress's EXE-header simply calls SPUPDATE.INF for installation. For more information about IExpress, look at this link.

It's similar to install a INF manually. (If you select a INF with right mouse button, you'll see the "Install" option on the menu.)

Link to comment
Share on other sites

Hi Gape,

Are you still working on the FINAL release? When is it going to be out?

Patching does not work properly. For making optional "new desktop icons", I have to use "patching"... I have not found a good patching tool yet. :angry:

If I can't finish it before this Sunday, at least I'll release a BETA 3. :(

Link to comment
Share on other sites

I see the pieces [used powerarchiver on the .exe] but I don't see what ties it together.  Where does it start?

cjl

IExpress's EXE-header simply calls SPUPDATE.INF for installation. For more information about IExpress, look at this link.

It's similar to install a INF manually. (If you select a INF with right mouse button, you'll see the "Install" option on the menu.)

So, other than not seeing the license agreement, right-click INSTALL on SPUPDATE.INF is the same as running the .exe of the released SP? Correct?

cjl

ps: Is MSINSTaller pre-needed for this to work?

Link to comment
Share on other sites

So, other than not seeing the license agreement, right-click INSTALL on SPUPDATE.INF is the same as running the .exe of the released SP?  Correct?

ps: Is MSINSTaller pre-needed for this to work?

Yes, correct (for 1.x) and no, you don't need MSI.

Note: For 2.0, there is a tool called INFEX.EXE which is written by me. IExpress calls this INFEX, and INFEX calls "selected" INFs.

Link to comment
Share on other sites

To force the Q249973 update for Win95 or Win98 to register in Qfecheck you will

have to extract the files inside and install them manually. I've done this in the past

and QFEcheck displayed the info, no matter if you have IE5 or IE6. Open the

249973usa5.exe or 249973usa8.exe file in Winzip or any archiving tool and extract

the ver1200.exe file. Now open the ver1200.exe file in Winzip and extract all

those files onto a temporary folder like 'c:\temp\249973'. If you just double-click on

the ver1200.exe file to run it, it will NOT work. This is why I have to extract the

files inside the EXE file and install them manually. Go to the temp folder, right-click

on the 1200.inf file and choose the Install command to install the files and voila,

Qfecheck lists the Q249973 update and lists the riched20.dll file as version

5.30.23.1200 instead of version 5.0.153.0. The ver153.exe file contained inside

the Q249973 updates has the riched20.dll file v5.0.153.0 which is outdated and NOT

compatible with Windows Installer. I know Windows Installer 2.0 installs riched20.dll

version 5.30.23.1200.

About the hang/lockup problem when deleting large number of files.

It occurs in Win98 & ME systems with IE6 or IE6 SP1. Not sure if it happens

under NT4 with SP6a. Replacing the browselc.dll & browseui.dll files with the

IE 5.5 versions may solve the problem BUT the drawback is that it can prevent

Win98/ME users from installing certain IE patches. Even if the tip does not prevent

users from installing IE updates, it can cause unforseen problems when certain IE

updates get installed. So Gape, do NOT include the fix for the hang/lockup problem

for deletion of large files in the Win98se Service Pack.

I would only recommend replacing the browselc.dll & browseui.dll files ONLY if

Win98/ME + IE6 users do NOT install ANY IE security updates.

Link to comment
Share on other sites

Patching does not work properly. For making optional "new desktop icons", I have to use "patching"... I have not found a good patching tool yet. :angry:

If I can't finish it before this Sunday, at least I'll release a BETA 3. :(

Dunno the name of the thing, but there was a file patching utility with really old versions of Partition Magic called, I am guessing "PATCH" used to updated minor version revisions. I think I have somewhere a file package that raises it from say 3.00 -> 3.05 or something like that. I assume it has a script that checks out the before and after of applying some file portions within the patch package, etc.

If this sounds like something useful, I'll look for it for you, unless someone has this beastie floating around as well?

cjl (Collector of various things)

Link to comment
Share on other sites

To Gape:

I posted something on the "Better Notepad" thread, and I assume you saw/will see it [when you get a chance].

I noticed that the SHELL32.DLL file seems not to be the one associated with Q313829 in that it's a different length. I know there are the icon considerations that are hard-patched in SP 1.6.2 [where I am still checking things out; end in sight soon!] but is this based on the same file as the hotfix or what? I am concerned because I read something a while back on Axcel216's site about someone complaining that the Q313829 version broke someone's idea about how to add transparent icons or somesuch using the original released SHELL32.DLL file, and that there was a way to patch the Q313829 version of SHELL32.DLL to regain the former functionality. However, these instructions have absolute offsets, so unless we can get an update for the file you prefer to use, is there any reason to break this compatibility yet again? [Or is it already handled by yet something else I don't grasp?]

Or is all of this irrelevant because 2.00 is different from 1.6.2 regarding the SHELL32.DLL issues?

cjl

Link to comment
Share on other sites

To Gape:

I posted something on the "Better Notepad" thread, and I assume you saw/will see it [when you get a chance].

I noticed that the SHELL32.DLL file seems not to be the one associated with Q313829 in that it's a different length.  I know there are the icon considerations that are hard-patched in SP 1.6.2 [where I am still checking things out; end in sight soon!] but is this based on the same file as the hotfix or what?  I am concerned because I read something a while back on Axcel216's site about someone complaining that the Q313829 version broke someone's idea about how to add transparent icons or somesuch using the original released SHELL32.DLL file, and that there was a way to patch the Q313829 version of SHELL32.DLL to regain the former functionality.  However, these instructions have absolute offsets, so unless we can get an update for the file you prefer to use, is there any reason to break this compatibility yet again?  [Or is it already handled by yet something else I don't grasp?]

Or is all of this irrelevant because 2.00 is different from 1.6.2 regarding the SHELL32.DLL issues?

cjl

SP 1.6.2 has some modified files. The modification is done by Resource Hacker. These files are:

EXPLORER.EXE: 256-color tray icons hack, and desktop icons hack.

SHELL32.DLL (based on Q313829): Desktop icons hack.

NOTEPAD.EXE: Key-bindings hack.

SP 2.0 doesn't contain ANY modified file, it will use patching method for the modification. So it will contain a not-modified version of SHELL32.DLL from Q313829.

Link to comment
Share on other sites

To Gape:

I posted something on the "Better Notepad" thread, and I assume you saw/will see it [when you get a chance].

I noticed that the SHELL32.DLL file seems not to be the one associated with Q313829 in that it's a different length.  I know there are the icon considerations that are hard-patched in SP 1.6.2 [where I am still checking things out; end in sight soon!] but is this based on the same file as the hotfix or what?  I am concerned because I read something a while back on Axcel216's site about someone complaining that the Q313829 version broke someone's idea about how to add transparent icons or somesuch using the original released SHELL32.DLL file, and that there was a way to patch the Q313829 version of SHELL32.DLL to regain the former functionality.  However, these instructions have absolute offsets, so unless we can get an update for the file you prefer to use, is there any reason to break this compatibility yet again?  [Or is it already handled by yet something else I don't grasp?]

Or is all of this irrelevant because 2.00 is different from 1.6.2 regarding the SHELL32.DLL issues?

cjl

SP 1.6.2 has some modified files. The modification is done by Resource Hacker. These files are:

EXPLORER.EXE: 256-color tray icons hack, and desktop icons hack.

SHELL32.DLL (based on Q313829): Desktop icons hack.

NOTEPAD.EXE: Key-bindings hack.

SP 2.0 doesn't contain ANY modified file, it will use patching method for the modification. So it will contain a not-modified version of SHELL32.DLL from Q313829.

OK, then please explain the following:

Q313829 file shel95.dll [later renamed to shell32.dll]

Length: 1,388,816 bytes

SP1.CAB file shell32.dll

Length: 1,386,256 bytes

Both claim version 4.72.3812.600

I located the PCPLUS article on the notepad.exe control-key shortcuts; thus the similarity between the stock notepad.exe and the one provided in SP1.CAB. I assume this is the one that will be in SP2.CAP as well? If so, I do have the patch that makes it compatible with 98lite SLEEK [V1], which is essentially just doing what 98lite does to the original, i.e., if you compare my patched new notepad.exe to the unpatched one, you get the same differences listed as comparing the original notepad.exe to the 98lite-SLEEK [V1]-patched version of the original notepad.exe, etc.

Can you indicate where EXPLORER.EXE comes from? I believe it's not the stock one from 98SE. [Again, is it the same base in SP2.CAB as in SP1.CAB?]

cjl

Link to comment
Share on other sites

I located the PCPLUS article on the notepad.exe control-key shortcuts; thus the similarity between the stock notepad.exe and the one provided in SP1.CAB.  I assume this is the one that will be in SP2.CAP as well?  If so, I do have the patch that makes it compatible with 98lite SLEEK [V1], which is essentially just doing what 98lite does to the original, i.e., if you compare my patched new notepad.exe to the unpatched one, you get the same differences listed as comparing the original notepad.exe to the 98lite-SLEEK [V1]-patched version of the original notepad.exe, etc.

Can you indicate where EXPLORER.EXE comes from?  I believe it's not the stock one from 98SE.  [Again, is it the same base in SP2.CAB as in SP1.CAB?]

SP 1.6.2's EXPLORER.EXE is from IE 5.0 SP2. The reason of SHELL32.DLL length difference is replaced icons/bitmaps are smaller than originals in size.

[sP 2.0 does NOT contain NOTEPAD.EXE and EXPLORER.EXE, because of patching method. The patcher of Notepad in SP 2.0 produces same Notepad in SP 1.6.2.]

I don't understand your comments about NOTEPAD.EXE. Does 98lite SLEEK modify NOTEPAD.EXE ?

Link to comment
Share on other sites

SP 1.6.2's EXPLORER.EXE is from IE 5.0 SP2. The reason of SHELL32.DLL length difference is replaced icons/bitmaps are smaller than originals in size.

[sP 2.0 does NOT contain NOTEPAD.EXE and EXPLORER.EXE, because of patching method. The patcher of Notepad in SP 2.0 produces same Notepad in SP 1.6.2.]

I don't understand your comments about NOTEPAD.EXE. Does 98lite SLEEK modify NOTEPAD.EXE ?

Regarding SHELL32.DLL: Can I therefore assume that the replaced icon/bitmaps are smaller, but the STANDARD ones are NOT smaller? Thus, after installation, what size is SHELL32.DLL relative to choice of original or replaced icon sets? And what about compatibility with that translucent icon modification [covered on Axcel216 site about how to patch the Q313829 shell32.dll to be functionally compatible with the original shell32.dll. If feasible, it would be desirable to NOT introduce additional incompatibility, etc. Also, it is conceivable that the translucent icon patch could depend on the overall file length?]

From what I read about the notepad key bindings enhancements, it's clearly a matter of patching it to get a quite similar binary, thus you only need to patch the original; I assume there are no official updated notepad.exe files to otherwise consider, etc.

In 2.0 which EXPLORER.EXE will be used? The original or the one from IE50SP2? Also I believe there is somewhat of an icon/bitmap consideration within this file as well? What was the advantage [if any] of using the IE50SP2 version?

Regarding 98lite shell options:

I have been working with Shane Brooks on this [literally for years!] so, for those who don't know how it works:

98lite has 4 shell options [5 if you count current development!]: CHUBBY and OVERWEIGHT are the same thing; the differences are found elsewhere, but not within the SHELL32.DLL file. It is presumed to be the original file from 98se release, but it's perfectly fine to apply Q313829 under CHUBBY or OVERWEIGHT.

When you use SLEEK [V1] or MICRO, you get an alternate scheme that replaces all references to COMMDLG.DLL, EXPLORER.EXE and SHELL32.DLL to the equivalent files taken from Win95b. The differences between the two options are as in the above two, except that SLEEK [V1] is more like CHUBBY in scope, while MICRO is a quite stripped down system that has been demonstrated to TOTALLY run without a hard disk when created onto an LS-120 [i was one of the original people to do this, first with Win95B itself.] Other than various registry mods, the main thrust is to replace the 3 files with their Win95b forebears, etc.

However, there is a problem with a bunch of files included within Windows that have managed to require a small set of calls that CANNOT be handled by the Win95b shell. One source of incompatibility would be to determine if Active Desktop is in effect, a function call totally unknown to the 95b shell for which it makes a debugging-type gui-based complaint for an unknown function, etc.

However, for all of the files built-in to 98 or 98SE or ME that have this problem, there is a common solution: All of the files have an analogous patch where the reference to the dynamic link call filename string "shell32.dll" is changed to "shell32.W98". The file SHELL32.W98 is indeed the original SHELL32.DLL renamed [and perhaps updated from the Q313829 package and any additional followon you might provide in the SP, etc.]. The calls these programs need to be satisfied work fine when calling the "dead" shell file SHELL32.W98, thus allowing the app to move forward, etc. without "upsetting" the 95b "real" shell32.dll, etc.

Indeed NOTEPAD.EXE is one of these files that 98lite will modify whenever the SLEEK [V1] shell comes into effect, either at initial install or shell swap operations later, etc. To my knowledge, no other file involved in the process taken by 98lite overlaps the SP files. Indeed, it would have to be an .EXE file just to qualify, etc.

There are other files that also have to be patched for SLEEK [V1] operation, but they are NOT part of the original 98SE install, most notably the sore-point file LOADWC.EXE, which is multipurpose when installed within IE60 or later. In order to get it to work in SLEEK [V1], you have to also make an analogous patch to LOADWC.EXE within the IE installation to avoid various [minor] crashes which prevents some proper updates from being carried out, etc. My personal choice is to install IE60 [or IE60beta or IE60SP1 or IE6 whatever] the "normal" way, and just before the reboot at the end of the install, manually slip in the PATCHED copy of LOADWC.EXE, so that after the reboot, the patched version does all the good stuff it needs to. Shane is trying to work out some more automated way to do this for release in an updated 98lite, but clearly my method gets the job done, etc. [in theory, you can replace a .CAB file member and get the same result, but then you cannot install it in a CHUBBY or OVERWEIGHT system, etc.] A question: As I understand it, you can override during installation of 98SE or perhaps even later when looking in the .CAB files' directory for updates, if you place a "loose" file there, it will override the attempt to locate it within the known .CAB file of the original file, etc. Is there a parallel for IE6x installs, or must the .CAB file be patched? Obviously, placing the file is easier than updating a .CAB file!

I have additional files for patching other apps, such as early versions of Kazaa-lite [version 2.43 corrected the problem!], Adobe Acrobat Reader 6.00 and 6.01, and an obscure MS release of WUPDMGR.EXE much newer than that provided by 98SE that was distributed by MS as part of the XP release disk check-for-upgrade-to-XP-worthiness program. [You got the file from Windows Update, not on the CD itself; current Windows Update no longer does this, but I have the file from when they did this, and yes, it has to have a patched version for SLEEK [V1], etc.]

I have run into at least one hopeless case where SLEEK [V1] ain't gonna cut it. Symantec Norton AntiVirus 2003 gets the shell complaint if you do not patch it, but if you DO patch it, it gets a self-check error because NAV checksums its own files, thus damned if do or don't, etc.

PowerArchiver versions past 8.80 also have the problem, but I haven't yet figured out how to patch it for SLEEK [V1], in part since there are 5 separate call sets to SHELL32.DLL within the binary. All I can tell is that patching NONE and patching ALL leads either to shell complaints or failure of the app to work. Perhaps someone wants to try the other 30 combinations of patched/unpatched? [Or can we contact the author and point out that his program is now incompatible, presumably with Win95 as an additional, albeit simpler to explain, side effect?]

Finally, to explain why I call it SLEEK [V1], well, we are working on SLEEK [V2]. It avoids all of the patching problems entirely. The idea is that instead of patching all programs to use an alternate SHELL32.DLL, the "innards" of Windows insteads calls SHELL32.W95 leaving the original SHELL32.DLL alone to handle things more "normally". [in part, this involves using a patched set of the same three files, comdlg32.dll, explorer.exe, and shell32.dll from Win95b, but with new names, etc.] and part of it actually DOES work! Unfortunately, as we try it, we get stuck on yet other things that do not! :( When Shane gets back from "the drawing board" hopefully we will try again, but SLEEK [V2] remains on hold pending remedying about 3-4 incompatibilities we know of [all in odd places!], etc.

In ME, it gets more "interesting" in that certain UPDATES from Windows Updates, etc. also need additional patching for SLEEK [V1], and 98lite has no mechanism for fixing them [other than knowing what I present here and doing it yourself!], because it was anticipated that SLEEK [V1] would go away. This apparently isn't happening in the immediate future!

SLEEK [V1] is totally immune to that reported shell "crawl" with regard to deleting many/large files regardless of IE 6 update level, perhaps because it doesn't care what browse??.DLL files are present? It empties the recycle bin virtually instantly. For those of you who like to turn off all of the shell frills, the SLEEK [V1] shell doesn't even have most of them! In exchange for using this option, you get a smaller, leaner and meaner, faster, more stable system that can be stripped down to its MICRO cousin as long as you don't mind the permanent loss of IE [more people these days like that notion!] that uses resources better and more sparingly, etc. Unfortunately, it also means that a few newer-type apps don't run there:

WMP9 [perhaps something needs to be patched, but the stock version "hates" SLEEK [V1]]

Norton AntiVirus past 2002 [2002 works totally fine!]

PowerArchiver past 8.80 [perhaps rescueable]

Adobe Acrobat Reader 6.02 [perhaps patchable, haven't checked]

Certain proprietary Sony Vaio apps [that can be patched with difficulty, lots of files need the patches, but it does work, etc.]

cjl

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...