Author Topic: Registry Assault  (Read 9926 times)

Roamer

  • Newbie
  • *
  • Posts: 12
    • View Profile
Registry Assault
« on: September 06, 2001, 02:02:32 am »
Just for the sake to letting everyone know, Ultrahal 4.0 has no less than 53 redundant registry entries after being installed for only three days.

I have expunged this offensive piece of software from my system and cleaned the registry of it's clutter.

I anxiously await the upgrades to the main EXE file so that these horrendous and potentially system damaging problems will be corrected.


Medeksza

  • Administrator
  • Hero Member
  • *****
  • Posts: 1469
    • View Profile
    • http://www.zabaware.com
Registry Assault
« Reply #1 on: September 06, 2001, 10:55:45 am »
The registry is a database for all programs to store their settings. Before Windows 95 came along, programs stored their settings in INI files thrown all around the system. This created a huge cluttered mess. The registry is a hierachal database that contains settings for programs. If you are really interested in where and what settings Hal stores here is a list for you:

Under the key:
HKEY_LOCAL_MACHINE/SOFTWARE/Zabaware/Ultra Hal Assistant 4.0/HalPos
are the following entries
Height - The height of Hal's window
Left - The amount of twips from the left of the screen Hal's window is located
Top - The amount of twips from the top of the screen Hal's window is located
Width - The width of Hal's window

Those settings are written every time Hal's window is closed, so that the next time they are opened Hal will remember the position and size of the window. Is this one of the redudant registry entries you found. Would you rather not have this feature. Maybe you think it would be better to save these settings in small INI files that waste FAT space instead of using the registry database for the purpose it was designed to serve?

Hal also contains the following registry entries:

HKEY_LOCAL_MACHINE/SOFTWARE/Zabaware/Ultra Hal Assistant 4.0/Config/StartUpAuto
This key determines whether Hal should start with the system or only start when the user invokes it from the start menu.

HKEY_LOCAL_MACHINE/SOFTWARE/Zabaware/Ultra Hal Assistant 4.0/HalConfig/HalDir
This key tells Hal where Hal's folder exists so Hal knows where to look for its data files.

HKEY_LOCAL_MACHINE/SOFTWARE/Zabaware/Ultra Hal Assistant 4.0/LastStart/DateTime
HKEY_LOCAL_MACHINE/SOFTWARE/Zabaware/Ultra Hal Assistant 4.0/LastClose/DateTime
This key contains the date and time Hal was started and closed. This helps determine if Hal was properly shut down.

HKEY_LOCAL_MACHINE/SOFTWARE/Zabaware/Ultra Hal Assistant 4.0/LastRun/Successful
This determines whether Hal was shut down properly. If it wasn't that either means the computer crashed, the user shut down improperly, or Hal crashed. If Hal crashed it may be because of a 3rd party plugin. Hal will then ask the user if they want to reconfigure Hal if Hal is unable to start because of this.

HKEY_LOCAL_MACHINE/SOFTWARE/Zabaware/Ultra Hal Assistant 4.0/myWebHal/LastUpdate
If Hal's internet options are enabled, Hal will check Zabaware's server for an update. The date of the last update will be recorded here so that the program knows if it needs an update or not.

That is pretty much it. Hal reads registry entries of other programs such as windows for certain functions, but these are all of the registry entries Hal creates itself. The windows installer service also creates entries so that you can repair or uninstall hal in the future. Also Hal uses a third party program for all its speech functions. This third party program also creates and reads its own registry entries for Hal's speech to work properly.

Using the registry is not horrendous and damaging in anyway. It is a database designed for the purpose of storing program settings. It was designed to get rid of pesky INI files that waste valuable FAT storage space and create a mess. Does anyone else think this is redundant, offensive, or horrendous? If so I will honestly consider using INI files in future versions of Hal.
Robert Medeksza

Roamer

  • Newbie
  • *
  • Posts: 12
    • View Profile
Registry Assault
« Reply #2 on: September 08, 2001, 03:37:26 am »
Ok, it's this simple. I'm not out to bash Zabaware.

I'm trying to explain the problems with the software that I bought from you. I'm angry and frustated with it's performance and also with the seeming lack of responsiveness from Zabaware in correcting the problem.

I'll try to be clear and to the point without sounding angry.

Hal 4.0 is re-installing itself in the registry every time it loads. This is NOT, I repeat, NOT an acceptable meneuver. It looks like a problem with the installer.

I'm fully aware of the registry's function within Windows. But, as I've tried to tell you....

Hal's loader, installer, or something in the package is being naughty, over and over and over again....

NO OTHER PROGRAMS ON MY MACHINE EXHIBIT THIS BEHAVIOR WHENEVER THEY LOAD. And believe me, I have an enormous number of programs from which to choose. Games, utilities, TSR's etc....

Nothing else does to the registry, EVERY TIME IT LOADS, what hal does.

Hal 4.0 is doing SOMETHING ELSE.

I have a startup monitor that watches for autostart entries into the registry in order to prevent pesky adware and trojan infiltrations. It's been very, very effective so far with many different trojan server and adware exposures.

Normal installations of other autostarting programs also trigger this monitor when they first install themselves. That's Ok the first time.

Hal triggers this monitor every single time that it starts.

I have attempted several total extractions and reinstallations of the software with consistant results. Hal 4.0 does not allow the auto-startup function to be disabled. Any attempt to exit hal after changing the setting in the options menu results in the next hal session puking up a window that says that hal's files have been corrupted and it must be reinitialized.

Re-initialization, via the setup wizard, results in hal forcing it's way back into the auto-startup area.

Maybe, just maybe, I really don't want hal starting whenever I turn on my machine. Maybe I'd like to simply hit the hal icon when the urge strikes. Hal won't have any of that. If I don't let it be there at startup it simply refuses to work. Hal sees it's exclusion from the startup area as an inconceivable circumstance and decides that it must be a fatal error caused by corrupted data files and it needs to be reinitalized.

Ok, you ended by saying the following:

"Using the registry is not horrendous and damaging in anyway. It is a database designed for the purpose of storing program settings. It was designed to get rid of pesky INI files that waste valuable FAT storage space and create a mess. Does anyone else think this is redundant, offensive, or horrendous? If so I will honestly consider using INI files in future versions of Hal."

Well, I can't see any problems with hal using the standard reg functions you've described. But, please allow me to reiterate, Hal is doing something else. It's probably just a glitch in the loader program that you can easily correct. Although, a single ini file with all the useful variables recorded shouldn't take up all that much space in the hal directory. If one can't design a program that can store these few floating variables you've described without a flood of different ini files then maybe there is a problem with the programmer. But that's beside the point.

The larger problem is that the auto-start cannot be deactivated without hal being convinced that the data files were corrupted. I'm then forced to go throught the whole wizard nonsense again and it jams itself back into the auto-start area without my permission.

As a note, the only time my registry monitor is triggered is if an executable is dropped into the "startup" since this places an autostart entry into the registry. Hal tries to add another autostart entry each time it loads. This is an errant function. It's caught in some sort of loop where it thinks it need to continually add itself to the startup list.

I'm not trying to bash. I'm trying to help you fix a problem and help myself get a good, working program.

I'm not some idiot psychophant that's looking for a dog biscuit by telling you how super your program is. I'm being terribly candid about what I think of your current customer service methods and what I think of the way your software is misbehaving.

If hal had been written as a simple non-autostart program, it could easily just be dropped into the "startup" area in the programs menu and it would magically become an autostart program without any fancy 3rd party loaders to screw up the works.

This method works quite well as I was previously running an AI program called "BILLY" as an autostart simply by dropping it into the startup area. Billy had no face and no voice. He was just a text chatterbox. But, He popped to life each time I loaded windows and he caused no startup monitor glitches each time he loaded.

Your software looked like the next step in the AI evolutionary process for my system.

I hope this helps you figure out where the glitch is hiding.

I'm not trying to be caustic.

I only want one thing from Zabaware at this time ; A working copy of Ultrahal.

Please understand that after 2 weeks of feeling like you folks are ducking and dodging emails and support forum posts, I'm more than a little frustrated. Especially after putting $30+ dollars in your pocket for software that does not perform as advertised.


Here's what the monitor shows every time hal loads at either startup or by clicking the icon. I changed the numbers to x's and shortened the filename length for my own convenience:

**************************************************************************
Ultra Hal Assistant 4.0
has registered the executable

C:windowsinstaller{xxxxxxxx-xxxx-xxxxxx-xxxxx-xxxxxxxx}{xxxxx.xxxx.xx.xxxxx}.exe

to run at system startup.

Do you with to allow this change?   Y/N

**************************************************************************



As you can see, this is not the ultrahal.exe that is repeatedly loading.
It's the installer system that you've incorperated into the process that's screwing with the works.


I've tried simply dropping the Ultrahal.exe file directly into startup and it still tries to jump back to using the installer file from windows.


Roamer

  • Newbie
  • *
  • Posts: 12
    • View Profile
Registry Assault
« Reply #3 on: September 08, 2001, 04:03:32 am »
Another note.

Since most people don't bother with any sort of security measures on their computers, most won't notice anything curious that ultrahal might be doing in the background that is out of the ordinary.

I've had different pieces of software literally gut my OS on several occasions and have since learned my lesson about letting newly acquired programs run amuck without supervision.

I have several software monitoring tools installed that keep track of certain aspects of window's input/output and installation procedures.

Ultrahal simply triggered one of those monitors and I've tried to report it so that it can be corrected.

I may be a little frustrated and upset. But, I do want to see the software improved so that it will work consistantly on various system configurations.

This seems to be one of it's weaknesses at this time.


Medeksza

  • Administrator
  • Hero Member
  • *****
  • Posts: 1469
    • View Profile
    • http://www.zabaware.com
Registry Assault
« Reply #4 on: September 08, 2001, 10:18:41 am »
I believe what you are experiencing is the Microsoft Windows Installer Service working. Most programs on the market today don't use this service yet. One of Microsoft's goals in creating this system is to stop poorly written programs from installing older versions of DLLs and ActiveX controls. This would cause the installing program to make existing programs work incorrectly or not at all, sometimes called DLL Hell.

When a program is installed with the Windows Installer Service it makes a note of all important shared DLL and ActiveX components. If another program were to delete or install an older version of one of these components, the windows installer service would pop up and restore the original component again. This is sort of like "self healing"  You will see more and more programs use this system in the future.

If your interested in seeing this system work, try this. Close Hal. Delete the file "C:/program files/zabaware/ultra hal assistant 4.0/halbrain.dll" The HalBrain.DLL is vital to Hal working properly and is registered with the windows installer service as such. Now try running Ultra Hal again. You will see the windows installer service pop up and reinstall that file, and then Hal will run fine.

Everytime Hal is run it invokes the windows installer service first to make sure all of Hal's required DLLS and ActiveX components exist and have not been modified. I believe this is what you see as "registry assault"

All of Microsoft's newer software will do this also, such as Office XP and the upcomming Windows XP. Any program created with the latest version of InstallShield will do this now also. Its just a matter of time before all programs do this.
Robert Medeksza

G0th52

  • Newbie
  • *
  • Posts: 32
    • View Profile
Registry Assault
« Reply #5 on: September 08, 2001, 06:19:25 pm »
Mr. Medeksza,

I think it speaks highly of the company and yourself that you are willing to address these questions and concerns in this forum. I believe that all users of the software appreciate it even if they're not totally satisfied with the software itself. bob
Pretender

Roamer

  • Newbie
  • *
  • Posts: 12
    • View Profile
Registry Assault
« Reply #6 on: September 08, 2001, 06:29:27 pm »
"I'm sorry dad, but all my friends were jumping off the building so I thought I should too."

Just to make a point. Not to be saucy. Microsoft is not my boss. Microsoft is not your boss. Do stuff because it's the right thing to do, not simply because MS throws "gadgets" at you and you feel obligated to use them. I'm something of a code purist.

Just because the almight MS decides to put a new "overlord" system into the OS doesn't mean everyone must use it.

Occom's Razor: the simplest path is usually the best path

This is what I miss from the days when programming had to conform to cpu speed and storage limitations. Writing compact, efficient code was the imperative. If everyone were to go back to that system, software speeds would be close to 10 times as fast as most current commercial Window's based software.

Today's method seems to be to try and be slick by incorperating everyone else's code libraries without any thought put into impending hardware compatibility issues.

Check out GRC.COM if you'd like to see some "oldschool" programming technique. It's all about security. But, i digress.....

A simple updated set of checksums within hal's own code could allow him to verify that his main files haven't been corrupted in some way. No highly suspect MS routines need ever be called upon to police your software.

A great programming moray would be to make your code as self sufficient as possible without relying on too many outside agencies for little, quirky (in)convenience routines.

Please let MS do policing on their own DLL's and let your program be system independant and handle it's own affairs. Don't just fall inline as an MS drone. We don't need any more of those.



----------------------------------------------------------------------------
As I see from your website and from your posts, Hal needs to do a few things.

1. Needs to read text files (Html, MS Word docs, PDF files, too, maybe, sometime? That would be super.)

2. Needs to access to the program menu. ( a second user-defined program list would be a great addition also.)

3. Needs access to the MS dialer.

4. Needs access to the Web browser.

5. Needs access to the SAPI devices (speech rec, synthesis)

6. Hal needs to know his main files are not corrupted before he runs.

All functions could be internal to hal's program with nothing but simple I/O calls to each necessary MS or 3rd party program.

-----------------------------------------------------------------------------


Hal doesn't need any outside installer program to place him in the startup area. That's easily done with a batch file from within hal's directory. Also, it should not be assumed that every user wants this program to autorun without even offering a choice before installation. It should be a secondary act, after installation, that the user decides at that time.

Here is a process that is simplicity itself. And it would make your software the ultimate in hardware compatibility

On dealing with installs:

 1. Program is installed in it's own directory.
 2. A box asks the user if he/she would like hal to run at startup.
 3. If user say's yes, then the batch file places hal's main EXE path in the startup directory.
 4. If someone wishes to uninstall hal, simply deleting the hal folder and deleting the program list entry wipes out all traces without using MS's somewhat confused and invasive "install wizard" crap.

All Done. One shot install. One shot delete. Amazingly, both done with a simple BAT file from within hal's own directory. Wow.

File test before running:
[/b]
Each time Hal runs, He does a quick checksum on his main files and determines if they've been corrupted. Pklite can do this for your exe files with no slowdowns. You should really look into it. PKware's systems have been tried and tested for years now, UNLIKE MS's new routines which routinely have bothersome unforseen bugs until about three versions into the process.

With FAT32 there is no lack of space. Hard drives are huge these days and only getting bigger. Don't be afraid to use a simple, single global ini file for hal's "personal data". I don't think one ini file or even 20 ini files in hal's folder will cause any undue hardship.

Check out this URL and read about FAT32 and it's "fewer limitations"

http://support.microsoft.com/support/kb/articles/Q154/9/97.ASP


Just because it's cool to use MS internal functions, it doesn't mean it's always the best idea.

Try to write your code as if you're working from pure DOS and you'll make it easier to work with and easier for you to port to other OS's if you decide to go that route.

This sickening dependance on unnecessary MS OS internal programs is just WRONG.

Take it back to basics. The basics always work. The basics can be just as convenient as using MS routines, where users are concerned.

Just my 2 cents as a systems analyst. I'm doing this for fun, not fees. :)

migs

  • Newbie
  • *
  • Posts: 3
    • View Profile
Registry Assault
« Reply #7 on: January 06, 2004, 04:21:52 am »
I just purchased ultra hal assistant, and no matter what I do it gets caught on the installer, just freezes.  I would love to be able to install this software I just bought, and I've tried removing the program file, and still nothing but my system getting hung up.  I'm using Win 98, 2nd edition.
 

Morlhach

  • Jr. Member
  • **
  • Posts: 85
    • View Profile
    • http://membres.lycos.fr/morlhach
Registry Assault
« Reply #8 on: January 06, 2004, 08:26:59 am »
quote:

Occom's Razor: the simplest path is usually the best path
Please let MS do policing on their own DLL's and let your program be system independant and handle it's own affairs. Don't just fall inline as an MS drone. We don't need any more of those.

Just my 2 cents as a systems analyst. I'm doing this for fun, not fees. :)




Never seen any problem with Ultra Hal. Neither does Hal have troubles with my registry.

bye the way : it's the Occam's Razor and not Occom(on[?])'s Razor.

Time to look for another job [}:)]
 

migs

  • Newbie
  • *
  • Posts: 3
    • View Profile
Registry Assault
« Reply #9 on: January 06, 2004, 11:34:15 am »
My primary OS is a distro of Linux called "Lindows"; the only reason I keep Windows is because of certain software I enjoy like Hal.  The Linux version of it does not work well at all.  I can't even get the free version to install now, so I may be a personal computer issue.  I just thought perhaps I'd find an answer for this.  BTW, I have a friend in the UK who is a Nobel Prize winning physicist, and we're both of the opinion that while Occam's Razor is an interesting approach, for matters of much complexity it is virtually useless, and the originator, William of Occham, never meant for it to be misinterpreted in the way it has been.  That's my two cents for what it's worth, but we all view things differently, and this is not an invitation to debate on it's merits.  I just wanna fix my program!  Einstein himself made some pretty unusual remarks in his time, as did his protege, Dr. Bohm, but John Bell and Dr. Alain Aspect gave some pretty solid credence to their statements.  Just something to think about for the day.
 

Morlhach

  • Jr. Member
  • **
  • Posts: 85
    • View Profile
    • http://membres.lycos.fr/morlhach
Registry Assault
« Reply #10 on: January 06, 2004, 11:57:12 am »
quote:
Originally posted by migs

My primary OS is a distro of Linux called "Lindows"; the only reason I keep Windows is because of certain software I enjoy like Hal.  The Linux version of it does not work well at all.  I can't even get the free version to install now, so I may be a personal computer issue.  



may i suggest you to use this : http://www.vmware.com/
 

migs

  • Newbie
  • *
  • Posts: 3
    • View Profile
Registry Assault
« Reply #11 on: January 06, 2004, 12:17:49 pm »
Morlhach
I finally got it to work, I just went through and cleaned everything up first (scandisk, defrag, etc! Thanks for the info on vmware, greatly appreciated!
migs
 

Medeksza

  • Administrator
  • Hero Member
  • *****
  • Posts: 1469
    • View Profile
    • http://www.zabaware.com
Registry Assault
« Reply #12 on: January 06, 2004, 05:42:05 pm »
I'm glad everything is working now. If ever in the future anyone has any problems with the Windows Installer I would recommend trying a utility called Windows Installer Cleanup from Microsoft. It can be downloaded here: http://download.microsoft.com/download/office2000pro/util20/1/NT4/EN-US/msicuu.exe
Robert Medeksza

Morlhach

  • Jr. Member
  • **
  • Posts: 85
    • View Profile
    • http://membres.lycos.fr/morlhach
Registry Assault
« Reply #13 on: January 07, 2004, 06:55:09 am »
quote:
Originally posted by migs

Morlhach
I finally got it to work, I just went through and cleaned everything up first (scandisk, defrag, etc! Thanks for the info on vmware, greatly appreciated!
migs



i suggest for windows to download regclean ( http://download.com.com/redir?pid=881470&merid=50119&mfgid=50119&edId=3&siteId=4&oId=3000-2094-881470&ontId=2094<ype=dl_dlnow&lop=link&destUrl=%2F3001-2094-881470.html)
it is a small microsoft freeware useful to make a cleanup of your registry