Adobe Flash Player & Shockwave Player Corporate Distribution i.e. redistributable binary

System Requirements:

  • Adobe Flash Player Plug-in
  • Adobe Shockwave Plug-in

The Problem:

Adobe are Google inept…

Here’s a really crazy idea, I want to redistribute Flash to PC’s without going to each PC and installing it by hand!

Obviously I’m off the planet on that one, having 600 workstations that got updated to Macromedia’s Flash 8.2x plug-in over a year ago because I wrote an installer for the blessed thing by hand. 30 workstations which had anything from flash 4 to Flash 8.2x on (which I did upgrade by hand).

Google anything to do with Flash, Deployment, Corporate, Redist, Redistributable… and you’ll get nothing back.

Shockwave is even worse, we wont go there. Suffice it to say much bandwidth was lost on the 30 workstations and the 600 never got touched, despite progressive urgent security updates coming out of Macromedia/Adobe on the poor state of their plug-in.

If anyone from Adobe is reading this, yes, I am irate, you wasted a significant amount of time which I will never get back again! LEARN TO MAKE A WEBSITE.

The Fix:

When Adobe released Flash 9.x, they changed the install system to a binary cab, the installer engine in cab 1, named “Ultrashim.cab” and then the data cab after it. For some reason I couldn’t build a hand installer on these because the thing never registered properly with MSIE.

When they release 9.0.47.0 they removed the second cab completely, favouring some proprietary installer system in ultra-shim. If you pulled ultrashim apart and manually ran it, it would (eventually) install the 1.5MB data download after a significant wait time. Thing is that in my experience users get a little irate if they have to sit at a boot screen waiting for an unspecified amount of time while some unnecessary little loader daemon suckles the proverbial teat of Adobe Systems Inc.

For anyone who wants to look, here are Ultrashim.cab and the “really clever Adobe, you are so hilarious and clever” data file install_flash.foo.s.

 

Contrary to popular belief, and for those who don’t have enough hours in their day to read the small print on every Adobe.com page with “flash” in the text (and who are frantically Googling the topic). Adobe DO have corporate deployment systems for Flash Player and for Shockwave Player, they just don’t want anyone to find it.

Adobe will give you either a .exe installer (which does not have any silent install prompts that I can find) or a .msi which obviously does for both browser technologies. You can get hold of the MSIE version and the non-MSIE version (firefox and what have you), as well as multi-language and Linux/Unix/Mac OS versions.

 

How to get it

You have to site license yourself for it I’m afraid. The small print can be found here.

The following URL’s were valid at the time of publishing.

If you want Flash Player 7,8,9 only go to:
http://www.adobe.com/cfusion/entitlement/index.cfm?e=flash

If you want Shockwave Player 10 only go to:
http://www.adobe.com/cfusion/entitlement/index.cfm?e=shockwave

If you want Flash Player 7,8,9 and Shockwave Player 10 go to:
http://www.adobe.com/cfusion/entitlement/index.cfm?e=flash_shockwave

It is nothing more than a con to get you to sign up to their mail system really. so Adobe, yet again I’m not impressed. You’ll register, they’ll email you your welcome to Adobe fun email and behind that will come the automated download links.

I cannot post the download URL’s because the URL information contains the licensee registration ID. I can state however that the redists seem to be up-to-date at least in terms of Flash 9.

Recycle Bin Woes: Chomping at the Bit

System Requirements:

  • Windows NT 3.51, 4.0, 2000, XP, 2003

The Problem:

Yes, I admit it, I have hard disks running in my current servers which have been with me almost as long as I have – that either says something about how old I am, or how tragic I am; probably the latter actually.

Ever since I got fed up with it all back in 1999 and had a 9x cull, everything – and I mean everything on my home network has run some form of NT or another, be it 3.51, 4.0, 2000, XP or 2003; even Longhorn (I’m still not calling it “that”).

Having suffered some major server related setbacks in the last week, the short version of a very long and depressing story has been that I’ve needed to reinstall a large number of servers, including two here at home. One of them is a nice cost SCSI320 RAID array that has just been rebuild, but server 3, with its numerous ATA disks, that’s a different story.

Thinking long and hard about it, I can conclude that at least two of the disks would have originally started life as FAT Volumes, and has been slave drives under 98, Millennium, NT4, 2000 Professional, XP Professional, 2000 server and now 2003 server. In between there have been numerous file system changes, back and forward from one to the other through the native conversion tools, or by the modern marvel that is Partition Magic.

The point is, the volumes have had a lot of work done on them, many partition dimension changes, many file system changes and last and not least, many operating system changes. So when it came down to a little impromptu data reorganisation when server 3 was retired from Intranet duties, imagine my surprise when Windows was reporting a completely empty 60GB NTFS partition as using well over 3GB of disk space.

All file systems will have some degree of overhead involved in storing their configuration information, NTFS partitions in particular will always have a certain overhead reserved for the on-disk MFT store. However on a 60GB partition this should be around 95.7MB (100,396,572 bytes) depending upon cluster size. So where has the data gone?

The Fix:

Tragically, this little delight is down to the way in which Windows tracks the recycle bin index for any given volume and every given user account on the system. Every user on the computer is assigned and identified by a GUID value by the SAM when the operating system is installed and when the user account is created. Such a GUID looks like:

S-1-5-21-1377080574-1904069225-4148753390-500

Note the ending value of 500, which means this account is almost certainly the system Administrator account in this example.

For each GUID on the system a MFT wrapper is created under the super hidden folder <drive>:\RECYCLER which contains the file system entries for everything that user holds in the recycle bin.
The meaning for this is clear, Windows maintains a per-user recycle bin schema, not a per system. Therefore each user account can populate the recycle bin with whatever information that user deletes, and it remain hidden on the disk.

The trouble is when a volume gets old, the GUID’s easily become stale as operating systems are reinstalled, Active Directory is added and removed, disk’s are moved between systems and the file systems themselves are altered.
In the case of this particular volume, well over 3GB of data was trapped in the recycle bins of a rather large number of long dead user accounts, which unintelligently Windows and successive operating system reinstallations has never picked up upon.

There are two ways to deal with this, the first of which I am not going to go into much detail on.

  1. You can wipe out stray GUID entries from the RECYCLER folders by seizing ownership of the RECYCLER folder and literally deleting the wanted GUID’s. Remember though, the system will let you delete the information from any user account that is currently not loaded. You can check the GUID’s off against the HKU hive in the registry to be certain if they exist.
  2. The second way, and the way that I am advocating is to pull all the data off of the volume and perform a format using Disk Manager. The logic is very simple, not only does it wipe out everything from the disk, and perform a thorough bad sector check/retest & repair, it also will upgrade and reconstruct the NTFS / MFT on the volume.

The volumes in question in my example were all NTFS from NT 4.0, where as the standard has been updated through 2000, XP and 2003 with additional features such as Shadow Copy support and native OS level Indexing service support. I therefore am at pains to imagine what sort of state the MFT on the volume was in with all the in-place bolt-on’s added by successive Windows releases, not to mention MFT file fragmentation. Formatting the volume will therefore naturally clean the entire nightmare up quite eloquently.

Using IEAK 5.x under Windows XP or Internet Explorer 6 / 7

System Requirements:

  • IEAK 5.0
  • IEAK 5.01
  • IEAK 5.5

The Problem:

If you need to build an IEAK 5.0, 5.01 or 5.5 internal distribution for your organisation, or you are just playing with the older IEAK versions, then you will encounter a significant problem if you happen to be using Windows XP, or have upgraded your web browser to Internet Explorer 6.0 or 7.0.

IEAK configurations are designed to operate exclusively under the Internet Explorer release they are generating redistributable’s for, and will bluntly refuse to work if you attempt to fob it off with a greater IE version.

The Fix:

Pretty simple really. Like most of Microsoft’s application dependencies, it’s nothing more than observable madness, built in for some strange reason (presumably to force Internet Explorer 3/4 users to migrate to 5.x. Quite why it wasn’t deemed sensible to program IEAK…

if MSIE version <=4.01 SP2 then
Terminate
else
Proceed
End if

… is beyond me. Anyway. The fix is so extremely simple, you will wonder why you were reaching for a Windows install CD.

  1. Open up Regedit and navigate to:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer
  2. Find the string value called Version and edit the Major and Minor version to match the version of IEAK that you are attempting to install. For Example:
    Change 6.0.2900.2180 into
    5.5.2900.2180 for IEAK 5.5 or
    5.0.2900.2180
    for IEAK5.0x.

I don’t recommend that you fiddle with the build number, as you’ll probably forget it when you go to switch it back again. As soon as you have run IEAK for the first time, you can safely switch it back to whatever you had before.

It wont bother you again after that.