ChiefZeke wrote:Also, the program lists my system as having .NET v1.1: 11.4322.2503 installed - which is true but further down the list is a comment: *.NET v1.1 Not available for WinVista and higher; which is false as I have it installed.

automizzer wrote:About .Net 1.1 - the note about compatibility is displayed for every OS and I got this from Microsoft -> http://msdn.microsoft.com/en-us/library/ms229068 and as far as I know you have to do some tricks to install 1.1 on Win7
Program tries to detect .Net 1.1 on every OS and if it's not detected it displays '----' also if OS is Vista or higher it adds the '*' to read the note and know that it's not required.

While I understand your point that Vista and higher is not listed in the link you referenced, the link did not say that it wouldn't work on them, at least not that I saw. Maybe change the wording of the note to something like:

Not normally available for WinVista and higher

Because Chief is right that it doesn't make a lot of sense to say that it's not available when you've listed that you found it. It's kind of contradictory.

This app is really turning out to be a wonderful check mainly of installed runtimes, which is great. I'm not aware of another app that is simpler to use. As such, you might consider adding detection of other runtimes. MS Visual F#, MS Visual J#, Adobe AIR, and Adobe Authorware immediately come to mind. (Maybe MSXML?) And if you wanted to go all out, Kel and ricktendo have put out installation packs that add other runtimes that aren't quite as common, but are sometimes required when trying to run older software. And as I think has been mentioned already, it would be ideal if the app was able to list what the latest version available of each runtime is, or say that the runtime is up to date or not, but I do understand that would make the app much bigger and more complicated. So maybe just include links to where the latest version of each runtime could be obtained? Just a thought.

A friend of mine checked this app out and he noticed that it appears it might be unable to detect Flash and Shockwave on Win8/8.1. Just wanted you to know.

I've done more digging about some Adobe runtimes and here's some further info you might need. Shockwave and Authorware are 32bit only plug-ins so will not install or function in a 64bit browser, such as Pale Moon or Waterfox. Probalby IE x64 as well but my installation of it is damaged and since I use IE so infrequently I haven't bothered to try to repair it. Also, it seems that Flash is getting as complicated as .NET. In Win7 it seems you can have Flash installed in at least 3 places, since there are separate Flash downloads for:

I started at the top and went down the list - ignoring the compatibility message and clicking on the option to install it anyway. Also, a correction to my earlier posting: .NET Framework 1.1 did install in Win8 Pro 64bit - when I upgraded to 8.1 it was removed and would not install not matter what.

The test version 1.4 has arrived -> LINK
In this version I did some tricks to align the text: first column (with labels) is still quite centered and the second (with versions) is supposed to be aligned to the left. So check this out if it's as it should be.
Also I've changed the *note text to 'Officially not available...' so this tells users that they don't have to install it unless they really need it

Outbreaker - please post a screen of v1.4 under your XP because the last one was very poor aligned

bphlpt - thank you for your kind words, it's good to see that my work is appreciated
When I started to code this app I only wanted to check 2xFlash, Shockwave, Silverlight and Java. Mainly for fun and test my skills in vbscript.
And now it's a good piece of code, even it's so simple but no one tried this before.
I thought about other runtimes ad maybe in the future I will add some, I use Kel's and Rick's runtimepacks so don't worry. I visit RyanVM's forum almost everyday since 2008, but I've rarely posted something.
I've decided to post my app here to share something that I made in return to all the great things I've downloaded here

I will have to figure out quite much: how to check available/newest version of runtimes in more static way, also it could be hard to static VC++ and .Net installers (maybe i could link to Ricks VC++ AIO and someone .Nets) It would be hard but the app is under development - I only need enough free time. In this free time I would also test the issues you wrote

Here's a few more suggestions. It would be nice if there was an option to print the results out to a text file. It might also be useful if the Computer Name was listed in the results and the workgroup or domain it is a part of, if any, along with a time/date stamp of when the app was run. And for folks with networks of computers would it be possible to gather the info remotely, or would the app need to be resident on each computer? Just random thoughts.

I think printing results to txt file is a good suggestion and computer name, domain, workgroup, date&time would be included only in txt. This would be available only for a local computer.
I'm out for the weekend, but I'll probably post a new test/beta on monday

#2 > AntiVirus is Microsoft Security Essentials v4.4.304.0 which is also installed in Win7 (Defender is in Win8) and they did not cause a problem when I ran the program in that OS so I'm not sure I agree with possible solution.

Any other suggestions as possible problem and/or fix?

Later:

Win7 Ultimate 64bit w/SP1 and atmzzrSystemCheck v1.4 (programs and versions now in alignment)

v1.4 has VC++2005: 8.0.50727.6195

AIDA64 v4.00.2706 has:

VC++2005 x64: 8.0.50727.42 and 8.0.56336 and 8.0.59192 and 8.0.6100

plus

VC++2005 x86: 8.0.50727.363 and 8.0.61001

v1.4 has VC++2008: 9.0.30729.616

AIDA64 v4.00.2706 has:

VC++2008 x64: 9.0.21022.218 and 9.0.21022 and 9.0.30729.17 and 9.0.30729.4148 and 9.0.30729.6161

plus

VC++2008 x86: 9.0.21022.218 and 9.0.21022 and 9.0.30729.17 and 9.0.30729.4148 and 9.0.30729.6161

ChiefZeke wrote:#2 > AntiVirus is Microsoft Security Essentials v4.4.304.0 which is also installed in Win7 (Defender is in Win8) and they did not cause a problem when I ran the program in that OS so I'm not sure I agree with possible solution.

I understand Chief, I didn't think that my Anti-malware would effect anything either. But just out of curiosity, could you temporarily disable MS SE and see if the app would run? Just to confirm or eliminate the possibility. Any other anti-malware running?

I discovered a problem. If you use Rick's repacked installer to install Shockwave in Win7, Programs and Features shows it as installed, and it shows as installed correctly on the Adobe Shockwave test page, but this app shows it as missing. So there must be someplace else to look other than where you are looking.

ChiefZeke - try to run the older test5 version that is without error handling and check the error code -> http://www73.zippyshare.com/v/85568860/file.html
I don't know how AIDA checks the runtimes versions but this app uses the registry to check the newest installed version - the reg value is updated every time a new version is installed. These AIDA versions seem to be uninstall keys

bphlpt this issue is adobe's fault .exe installer adds a static 'Adobe Shockwave Player' key which is easy to check but the .msi installer add's a GUID key...

Since I couldn't add a custom button I've decided that it would work like this:
Main window with the list appers and after 'OK' a question pops out 'Do you want to save this report in a text file on your desktop??'
So user can choose the answer or - to not bother the user it will self-close after 3 seconds. The file name includes the generation date&time (also inside)
The file will be saved always on users desktop - this is handy and you don't need special rights to save a file on your desktop

First reaction of the way the text output was implemented was that the question popup went away too fast. Before I could completely read the message it went away so I had to run it again so I could click the button to get the output saved. There was also no mention in the popup that it was going to go away, or countdown timer or whatever, so how will a new user know what was going on? I understand that you want it to go away quickly for those that don't want the output saved, but I'm just sayin'...

I don't know why you "couldn't" add a custom button. Is the data output just a Message Box? Simple if so, but limited as a result. Another option might be to use command line options to trigger the output and even optionally specify where to put the output, though I understand the convenience to the user of just putting it on the desktop. You might also consider using an .hta for more flexibility in output formatting, ease of adding custom buttons, adding countdown timers, etc. You might want to check out some of gunsmokingman's demo scripts you can find over at msfn.com for examples of using VBScript with .hta files.

Also, I guess for Shockwave that you look for the static 'Adobe Shockwave Player' key and if it is not found, then you look for the GUID key? I suggest you reverse the order of searching. I say that because of the way Adobe did things, yes, their fault again. The problem is that when you update a previous Shockwave installation with the new version, apparently the new version does not completely clean up the previous static key. After "updating" Shockwave, BOTH old and new versions show as installed in "Programs and Features", and your app shows the old version, even though the Shockwave test page shows the new version as installed.

Have you had a chance to test your app in Win8/8.1 to verify that everything is detected correctly? I don't personally have access or I would have tested that for you.

Yes, data output was a VBScript MessageBox so I couldn't add buttons and also there were some problems with alignment - but not any more

There is a new v1.9 [beta] -> LINK - rewrited to be .hta based .exe - Screen

At first I thought I won't be able to do that because I never coded any hta but it seems it's not that difficult

Changes since previous version:
- Wraped into a GUI - due to rewriting to .hta;
- Added 'Save as a .txt file to your desktop' button with notification after it's saved. Also added 'Close' button;
- Improved Shockwave check - now it checks the static key, search for the GUID key and compare versions if needed.
Such a big change would be good for 2.0 version so after cosmetic changes (this is the first GUI but I think there's quite nothing to change - it's clear/ readable) and if it would work as it should i will update the first post with this as final 2.0

Didn't test it on W8.1 by myself, maybe in some more free time at the end of the month/year

Shockwave now seems to be detected correctly, even if remnants of both versions are still in place. (Thanks Adobe. ) Personally, I like the dark look, though some might prefer the starker look of the old MessageBox. But the screen and txt file output both look good. I knew the .hta would give you a lot more flexibility. And no, .hta is not that difficult. It's just .html.

I agree that this app is almost ready for 2.0 status. I think that correct operation in Win8/8.1 should be verified and hopefully Chief's issues of it not running for him under XP/XPx64 should be fixed first. Perhaps 5eraph could verify it in his XPx64 system which would imply that it's likely to be some kind of anti-malware software interaction for Chief, like it was for me. And maybe user_hidden could re-verify the latest version on his Win8.1 system. I'll also see if I can find anyone else with 8/8.1 installed to check the newest version out.

I haven't run AIDA64, so I'm not sure exactly how it's output is displayed, but I don't think it's important that all the various updates are shown, just the latest most recent for each runtime, since I assume the latest wouldn't install unless the previous ones were already in place? I could be wrong about that. And I'm not sure why it seems that AIDA64 shows some later updates that your app doesn't. I guess it depends on how the info is stored internally. But there must be some way to check for them all since AIDA64 can do it, and MU/WU has to be able to tell in order to push later updates as well. Are there any other runtime detection methods that you could compare results to? Consistency with them, as well as accuracy, is what will give the user confidence in your app and make them reach for it over other tools.

Once 2.0 status is obtained, I guess the only things left that I can think of adding to this wonderful little app would be additional runtimes detected, maybe command line operation for those that just want a .txt file without the screen output, and possibly some way to check whether each runtime is up to date or at least have links available so that the user can check for himself manually. (Links will now be easy to add in the .hta. It would just be a matter of figuring out where to point the user, if such a place existed.)

I know you created this tool for your own use, and as a means to expand your programming abilities, but it might also be useful to get feedback and suggestions from a wider audience. You might consider posting over at WinCert and/or MSFN for example, referring folks here to check out the app. Others might have other ideas on where you could post. Just a thought.

It would be a good idea to list in the first post the Windows versions that the app is compatible with, (will it run on Win2K? ), and any system requirements that you are aware of. Also list the size of the app in bytes and the MD5 of the app. When you start distributing the app more widely, users would also probably appreciate a ReadMe, or at least some kind of minimal help popup if the app is run via command line with a /?, /h, /H, --help or whatever kind of switch. I know it's a simple app and can't make any changes to the user's system or phone home or leave anything running once the app quits or have any kind of adware/malware installed (very nice touch providing a VirusTotal Scan link, by the way) and it isn't "installed" so is completely removed from the user's system when deleted, etc, but these days folks want that kind of reassurance with all the nasties and poorly written code out there.

I also noticed that what the app reads for System is a "friendly" field, but is a location that can be edited and changed by the user so might end up to not have anything to do with the actual version of the OS. (A friend of mine's Win7x64SP1 has been customized and shows "Windows Hud Machine™ 2014" in the System field when he ran this app.) While that might be useful, it might be more useful to also read and display the Windows version number like the ones that are listed here, such as 6.1.7601, etc, and the official "correct" translated friendly OS name. You can look here and here for discussions of ways to get and translate those numbers. I don't see any reason to include the ability to get and translate version numbers that are outside of the range of OS versions that can run the app. (Win2K through Win8.1 or whatever is appropriate.)

EDIT: I've read that you might could also check [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]. But you will see that the build number listed there increases slightly via certain updates. For example, for "BuildLabEx" mine is: "7601.22436.amd64fre.win7sp1_ldr.130828-1532", while a friend's is: "7601.22470.amd64fre.win7sp1_ldr.131001-1531". I would do some reading about the different possible methods and pick the most reliable and consistent.

Cheers and Regards

Last edited by bphlpt on Fri Dec 06, 2013 2:55 am, edited 1 time in total.

user_hidden - tried to fix the window.moveTo error (it makes the app window positioned to the center of screen) so chek it out. I've read that it might be caused by multiple-monitors etc. so maybe the new method works.
The 1.5 version only checked the static Shockwave key and now it also searches for the GUID key in every uninstall key so it takes more time.
I added this operation in v1.6 (last VBS version - not uploaded here) and it was also sloooower so this is the reason.

5eraph - the typographical error you noticed is caused by the weird Microsoft(R) name... I do a simple cosmetic trim: if the field begins with Microsoft it trimms 10chars from the left. Now it should be OK and leave the weird name full to not cause the error.

bphlpt - about AIDA64 I will still look into the detection in near future. The latest version of runtime is the most important so there is no need to check for others so we can leave this part.
Also I'm thinking about pointing the up-to-date versions and will do something with that in further versions.
As soon as I fix common errors found here I think I will introduce my app to the wider audience with a readme and stuff you mentioned
I added a command-line switches mechanism that will be extended for more switches if needed and also a hint/tip over the 'System' field for modified OSes (read below) need to be verified if it shows the real system name.

New version and explanation:v1.93 -> LINK
- improved window positioning (I think so)
- improved 'System' field read (fixed trim error)
- added hint/tip over the 'System' field - hover the right/identified side - to see the product name and version number. (need check)
- added switches mechanism - run with /? switch to show help or /log to only save the .txt (help will be updated with some more informations maybe)
- added version number (to system) and time zone (to generation date&time) in .txt log.

I like how the version is shown in the hint and in the log file. We'll have to see if anyone has need of more info.

I tried the /? switch and it works. But if I have my sandbox enabled I get the error message instead of the help. You should probably check for the /? switch first to be able to display the help even if the app won't run at that point. It will also make the response time for help quicker as well. You could also include the error message "requirements" info in the help hint as a warning. The help hint should also specify that normal operation is to use no switches at all and give a very, very, very brief explanation of what the app does, such as "This app will list which versions of several common runtimes are found on your system", or something like that. Any more detailed info could be included in a ReadMe, and referred to in the help hint, IMO, though some apps include it all in the help hint just so they only have one place to update and only one file to maintain. It's up to you.

The /log switch also works, but it would be nicer if it did not "flash" the window on the screen.

Unfortunately, you ignore unknown switches, such as "/junk", and the app runs as if no switch was used. Typical behavior is that if any unknown switches are included that the app should not run but the help hint is shown instead. Some apps will also give the message that "/junk" is not a valid switch, which is very helpful if you didn't realize that you misspelled a switch, like if you typed "/lag" or "/l0g" or "/lpg" instead of "/log" for example. I also noticed that you currently only accept "/log" in lower case. You should convert all non-"/?" switches to lower case before you try to test what the switch is. "/log", "/LOG", "/Log", "/lOg", or any other combination should all be equally accepted.

I also noticed that if you include both switches that it seems to only take the last switch listed. My opinion, and what I have noticed seems to be typical behavior in other command line utilities, is that if the /? switch is located anywhere in the command line the help hint is the only one acted on.

I totally agree that the latest version of a runtime found is the only one that should be required to be displayed, but from what I saw in Chief's post, AIDA64 seemed to find later ones than your app did for VC++2005 and VC++2012, which why I mentioned it. Also, since apparently VC++2005 and VC++2008 seem to have separately registered runtimes for x86 and x64, you could probably treat those as you now are treating Java with [x86|---], [---|x64], [x86|x64] type notations.

I'm glad I have been able to help with suggestions and bug reports. Thank you for responding so quickly each time.

automizzer wrote:5eraph - the typographical error you noticed is caused by the weird Microsoft(R) name... I do a simple cosmetic trim: if the field begins with Microsoft it trimms 10chars from the left. Now it should be OK and leave the weird name full to not cause the error.

I have had reports that v1.9 crashes on a friend's XP and 2003 system. I'm trying to get verification and better descriptions of the errors, along with verifying if those results were with v1.9 or v1.93.

Booted my #2 system > checked atmzzrSystemCheck_v1.93.exe in XP Pro w/SP3, XP Pro x64 w/SP2, Win 7 64bit w/SP1, and Win8.1 64bit - program worked as expected in all four so I must admit that the problems I'm having in XP Pro x64 on #1 system is the fault of that operating system; though I have no idea as to what is causing the problem.

Any help or hints will be greatly appreciated; other than a reinstall - I really am not going to do that.

bphlpt wrote:I have had reports that v1.9 crashes on a friend's XP and 2003 system. I'm trying to get verification and better descriptions of the errors, along with verifying if those results were with v1.9 or v1.93.

It ends up that my friend's errors were with v1.9, (which were this error, by the way):

ChiefZeke - it seems that you have the problem we thought that bphlpt had. Read from this post and try to reset WMI service. It shouldn't be fault of multi os.

bphlpt - I managed to correct the switches mechanism. Now it checks for switches as it should. When unknown switch is used, more than one or log and help it will display help. Also the log switch is not case sensitive so it detects /log lOg loG etc. correctly. Now the WMI/access error can be displayed after the /log switch is used not after the /?.

There is also a limitation: to pass the switches the main window has to be displayed so it will flash when using switches... And there is no way to not show it in the taskbar during /log - the only way is to hide the program permanently (even for main window), but i think it should be in the taskbar.

I added a short description of the app in the help popup.

Now the main window shows immediately after run (it was quite confusing to wait few secs to see it - some may have been wondering will it load and try to run it again) and a message of 'collecting data' is displayed until everything is ready.

I've made a change for Java mismatch event - instead of popup the x86 and x64 versions are displayed in a hint over the Java field with mismatch (just like in the system field). And the thing I forgot earlier - in case of Java mismatch the x86 & x64 versions are listed in the .txt log too.

Tweaking.com's Windows Repair AIO looks like a neat tool. I'm glad it was able to sort out your issue Chief. I'm curious what it actually corrected that fixed things for you, if it created a log so that you were able to tell. Was it the WMI service or what? Were you having any other little mysterious problems that prompted you to run this app? I only ask in case others might have similar symptoms I could suggest that app as a possible solution.

Yes, data output was a VBScript MessageBox so I couldn't add buttons and also there were some problems with alignment - but not any more

There is a new v1.9 [beta] -> LINK - rewrited to be .hta based .exe - Screen

At first I thought I won't be able to do that because I never coded any hta but it seems it's not that difficult

Changes since previous version:
- Wraped into a GUI - due to rewriting to .hta;
- Added 'Save as a .txt file to your desktop' button with notification after it's saved. Also added 'Close' button;
- Improved Shockwave check - now it checks the static key, search for the GUID key and compare versions if needed.
Such a big change would be good for 2.0 version so after cosmetic changes (this is the first GUI but I think there's quite nothing to change - it's clear/ readable) and if it would work as it should i will update the first post with this as final 2.0

Didn't test it on W8.1 by myself, maybe in some more free time at the end of the month/year

ChiefZeke - good news from you maybe you could upload the log somewhere, I'm just curious.skrell - You're welcome and thank you

I've tried to write something recently and it's a horror to make 32bit app work properly on 64bit system if you want to read from registry or system files due to all these redirections of Wow6432Node or SysWOW64
But I think I managed to bypass the file system redirections so there is a new Java and VC++ identification for x86 and x64 with mismatch events (and it checks for main files which are updated every new install so they are supposed to be the latest). And now it should collect data faster because there is no need to search the registry. For the same reason I coded new Shockwave identification. Funny fact is that the Java detection for x64 worked for .vbs but not after .hta rewriting but we didn't noticed that. I've also added a question mark for help on the right-top which displays the help popup of "/?" in case if someone didn't read the first post that "/log" switch is available.

So here is the v2.0RC -> LINK and changes:
- New Java identification
- New VC++ runtimes identification (with separate x86 and x64 check and comparision like Java)
- New Shockwave identification
- Added mismatch event to the .txt log for VC++
- Added error event if system type/architecture is unknown
- Added a small question mark on the right-top for help popup
- Cosmetic improvement of .txt log time zone display (for UTC- the "-" was doubled)
- Faster data collecting due to new identification methods

1. Thanks again SO much for this automizzer!!
2. This works perfectly on my "real" XP SP3 install but when i make a fresh XP in virtualbox using the addon Ricks-YumeYao_MicrosoftVC7891012RuntimeLibraries_Addon_2_2_3.7z it seems to miss the 2010 and 2005 runtimes? Any ideas?