January 2008 - Posts

SMS/BDD Engineer Needed - Milwaukee, WI

Posted in the job board 

Our imaging expert got lured away by Dell.  And who could blame him?  It was an excellent opportunity and career move for him.  So we're looking for a new team member.

Posted by skissinger | with no comments
Filed under:

Adobe FlashPlayer 9.0.115 cab updated for ITCU

If you use the Custom Updates Publishing Wizard (ITCU) to deploy Adobe Flash Player, they've released the catalogue update.  So if you haven't created your own rules; or used the one I posted previously as a starting point, you can go to your server, Custom Updates Publishing Tool, and download the updated detail for publishing to SMS.

 It might be because I had previously made up my own rules... but for me the Article ID is still APSB07-12; but it now has the info for 9.0.115 inside.  When the Aritlcle ID (according to Adobe) I thought was supposed to be APSB07-20 for 9.0.115.  Well... it's just a label.  I know it doesn't really mean anything.  But in case it isn't me; and that's the way they sent it out; just so you're aware of that anomoly.

Posted by skissinger | with no comments
Filed under: ,

GPO Tools - RCrumbaker's Web Remote Console

This was originally written to assist the local techs in gathering GPO log files several months ago when there appeared to be GPO issues in our environment.  Thankfully, that particular issue ended up not being GPO related--but the legacy of that is a tool set to share!  There are 3 elements to this on-the-side-htm page; toggling verbose logging on/off (which of course is optional), invoking a GPUpdate /force remotely (and monitor EventVwr to confirm it's done), then (optionally) opening up the log files from the target machine to look for any errors/problems.

3 Steps to implement:

  1. Place the attached "GPOTools.htm" into the same folder where machrest.asp resides.
  2. Edit MachRest.asp, near all of the other button definitions (near the top) add
    <input style="WIDTH: 180px" type="button" value="GPO Tools" name="Btnl724">
  3. In Machrest.asp, near the bottom, after all of the other Sub/End Sub routines, just before </script> add
    Sub Btnl724_OnClick
     parent.frames.output.location.href "/SMSRemote/GPOTools.htm"
    End Sub

I strongly suggest you copy your existing machrest.asp somewhere safe; so you can roll-back to a working version if necessary.

 

Posted by skissinger | with no comments

Group Policy History via SMS Inventory

Due to some interest on the SMS list, attached is a vbscript (rename the .txt to .vbs), and a .jpg of how it looks in Resource Explorer on 1 test lab client. 

I only tested it on 1 XP client in the lab; and I used fake User GPOs 'cause I was too lazy to create real User GPOs.  So please test the results from the HKCU area really thoroughly.  Please test, test, test.  If there's something missing you want added, let me know.  I had it all done and tested and then I thought "how about a column with the machine name for the machine ones, and the username of the current user for the HKCU user ones?"  I thought of another column--the date the script ran so you know how dated the info might be.

The vbscript would need to be run on the clients on some kind of recurring basis, only when a user logged in w/user rights in order to read the HKCU keys to transfer the data from the HKCU keys to WMI to be read by Hardware Inventory.
 
The Mof Edit (for your mini or sms_def.mof):
 
#pragma namespace("\\\\.\\root\\cimv2\\sms")
[SMS_Report(TRUE), SMS_Group_Name("GPO History"), SMS_Class_ID("SMSEXPERT|GPOHistory|1.0")]
class GPOHistory : SMS_Class_Template
{
  [SMS_Report(TRUE)] string DisplayName;
  [SMS_Report(TRUE)] string DSPath;
  [SMS_Report(TRUE)] string FileSysPath;
  [SMS_Report(TRUE)] string GPOName;
  [SMS_Report(TRUE)] string Link;
  [SMS_Report(TRUE), Key] uint32 Key1;
  [SMS_Report(TRUE)] string Type;
};
Posted by skissinger | 3 comment(s)
Filed under:

Adobe FlashPlayer 9.0.115 via ITCU

This is Part 3 of 3 

A bit of background, see http://www.myitforum.com/articles/6/view.asp?id=11240 and http://www.myitforum.com/articles/6/view.asp?id=11243

Essentially, because ITCU worked so well with deploying 9.0.47, I really wanted to continue to use ITCU for 9.0.115; but I ran into some snags, one of which was that Adobe hasn't updated their .CAB for ITCU to support 9.0.115--so I wrote my own rules (attached, extract the .cab from the .zip).  If you've tested the .MSI deployment independently of ITCU and it is acceptable, here's how to import this ruleset into your ITCU; and some post-publishing of the rules steps.

Assumptions:

- You've already configured ITCU, and tested it, for Flash Player 9.0.47.0 (that's a big assumption, I know)
- You've already tested the 9.0.115 MSI, and it works exactly as you expect it to work. (possibly with a .MST and cab files, for example, following part 2 of 3)
- You do NOT have an Article ID of APSB07-020 in Adobe Systems, Inc., Adobe Flash Player 9 Section.

Assuming the above is true, this will outline the steps for importing (and customizing) the Rules to 'publish' to SMS 2003, running through the Distribute Software Updates Wizard (DSUW), and post-creation, adding files to the source, and updating distrib points.

1. Importing/Customizing the ITCU Rules

Download the attached file.

Launch “Custom Updates Publishing Wizard”.
Click “Import Update(s)”
Click “Single Catalog Import”
Browse to the downloaded .cab file, click Open, Next, next; Accept any Catalog validation, Close.

Go to +Adobe Systems, Inc. then Adobe Flash Player 9.
You will now have an Article ID of “APS07-20”
You *will* need to edit this before publishing.  Right-click and Edit.
Click Next until you get to the “Select Package” section.  You will need to change the “Download URL (or UNC)” to be a valid location on your network or server which contains the 9.0.115 MSI you’ve downloaded/customized from the licensing page at Adobe.
Click Finish.

You can now Set the publish flag for this update, and publish it (just like you did for 9.0.47.0). 

2. Creating a new DSUW Package for this 1 update.

In your SMS Console, launch 'Distribute Software Updates'
Select an update type: (pick the Custom Update choice)
New
Package Name example:  FlashPlayer
Next
Input the Organization name, rtf if you use one.
Next, Next
Choose the 9.0.115 update, Next.
Modify the Package Source Directory to match your normal Source Folder, if necessary,
Next (it will download the .msi from the folder\share you defined in step 1)
Next
Do not add DPs at this point, Next, OK
Configure Installation Agent Settings: each company is different, choose the options your company uses.
Next.  Again; each company is different, choose the options your company uses.  Next.  Choose the options your company uses.  Next.  If you've already defined a Test Collection, choose to Advertise; and browse to the collection.  Otherwise, Next. Finish.

Base package is now created!  But it's nowhere near ready...

3.  Customizing the Package source to use the .mst & .cab

The 'download' of the .MSI only downloaded the .msi, not the .CAB, nor the .MST (assuming you followed step 2 of 3 to create a transform).  Copy the .cab and the .mst from where you have them, to the location specified as the source for this new Package, into the {characters} folder, the same place the .MSI is.

In Package Properties, Program, go to properties.  Since during my testing I noticed IE needed to be closed, I went to the Environment tab, and changed it to "Only when no user is logged in".  I also went to the Advanced tab, and picked "run another program first", and chose the Package/Program of the Custom Updates Tool (the scanner), Run this other program every time, and for this... Suppress program notifications.

Add Distribution Points to this package.

If you haven't created an Advertisement yet; do so.  I strongly suggest a test collection with 1 or 2 test computers as members!

Test, test, test!

The zip containing the cab: http://myitforum.com/cs2/blogs/skissinger/Flash115CabforITCU.zip

 

Posted by skissinger | with no comments
Filed under: ,

Adobe FlashPlayer 9.0.115 MSI Customize via Transform

This is Part 2 of 3 

Part 1 of 3: see http://www.myitforum.com/articles/6/view.asp?id=11240

In production, we had deployed version 9.0.47 via ITCU.  During testing, we noticed that although 9.0.115 was installed and in use, the 9.0.47 version was still listed in Add or Remove Programs.  That was a relatively easy fix.  This one you could do without having Wise or Installshield to create a transform--you could use ORCA to edit the MSI.  What I did was obtain the UpgradeCode from 9.0.47 (we record that as part of our packaging process--so that was easy to find for me), and go to Direct Editor, Upgrade Table, and added a line with these values:
UpgradeCode = {42463807-970B-4257-BC95-5C348D61DF1C}
VersionMin = 9.0.47.0
Versionmax = 9.0.115.0
Attributes = 769
ActionProperty = ISACTIONPROP1

Assuming you have Wise or Installshield, and already know all about Transforms, create a Transform/.MST for this .MSI. 

  1. We suppress AutoUpdates for Flashplayer, if you do so as well, create an mms.cfg file in Notepad with 1 line in it:  AutoUpdateDisable=1  In notepad, "Save As" to %windir%\system32\macromed\Flash with a name of mms.cfg, AND (this is the important bit) Encoding of "UTF-8", not ANSI, the default.  In your Transform, add this file to system32\macromed\flash. (if prompted, pick to save files in a .CAB)
  2. Download "uninstall_flash_Player.exe" from Adobe, doc 14157.  In your Transform, add this file to system32\macromed\flash. (if prompted, pick to save files in a .cab)
  3. (These instructions presume Installshield, since that's what I have).  These 2 custom actions are to support truly uninstalling FlashPlayer 9.0.115 during an msiexec.exe /x action, and to allow for a rollback to a previous version (like 9.0.47) if required by the end user.  Go to Custom Actions. We'll be creating two custom vbscript actions.  New VBScript, stored in custom action.  
    1. Name:  CopyUninstaller

      Contents of the script:

       strFolderName = Session.Property("INSTALLDIR")
       Set fso = CreateObject("Scripting.FileSystemObject")
       set sho = CreateObject("Wscript.Shell")
       fso.copyfile strFolderName & "\uninstall_flash_player.exe",strFolderName & "\unFP115.exe"
    2. Name:  UninstFLEXE

      Contents of the script:

      strFolderName = Session.Property("INSTALLDIR")
       Set fso = CreateObject("Scripting.FileSystemObject")
       set sho = CreateObject("Wscript.Shell")
       sho.run strFolderName & "\unFP115.exe /s",0,vbtrue
       Set f1 = fso.GetFile(strFolderName & "\unFP115.exe")
       Sho.regdelete "HKLM\Software\Macromedia\FlashPlayer\SafeVersions\9.0"
       f1.Delete True
  4. Then, in Sequences, Installation Execute area, input the custom actions; both with Conditions of   REMOVE="ALL"
    1. Put 'CopyUninstaller' between "AllocateRegistrySpace" and "ProcessComponents"
      Put 'UninstFLEXE' after 'ISSelfRegisterFinalize' (yes, the very, very last thing, even after InstallFinalize)

      Save your Transform, if prompted, additional files should be in a CAB.
  5. TEST this thoroughly.  The installation source is the .MSI the .MST, and the .CAB file.  The command line would be something like this (all on 1 line):

    msiexec.exe /i install_flash_player_active_x.msi TRANSFORMS=install_flash_player_active_x.mst /qn

    One thing I noticed was if IE was open, it wouldn't successfully upgrade/install.  For that reason, I set the Package/program to only run when no user was logged in (more in Part 3 of 3, using ITCU to deploy FlashPlayer 9.0.115 tomorrow).

Standard disclaimers... your mileage may vary... test this yourself... this is just what I did... no promises... don't blame me...

Teasers:

Part 1 of 3: How to really uninstall Adobe FlashPlayer 9.0.115, the redistributable MSI (yesterday)
Part 2 of 3: Customizing the .MSI so it'll really uninstall (this entry)
Part 3 of 3: If you use ITCU, delivering your customized Flash Player.msi + .mst via ITCU. (tomorrow)

Posted by skissinger | with no comments
Filed under:

Adobe FlashPlayer 9.0.115 via MSI doesn't really uninstall

A bit of background: In production, whenever we deploy an application, we always have to know what the rollback plan will be, in case we need it.  We've been burned too many times by "it's just a minor update" to take nothing for granted anymore. 

After downloading the .MSI version of 9.0.115.0 (Go to http://www.adobe.com/licensing to Apply for a license--it's the same place you go to signup/get the .CAB file for use with SMS' ITCU)  In testing the uninstall of 9.0.115, I found that although the entry would be removed from Add or Remove Programs, the registry keys, files, and more importantly, IE would still be using version 9.0.115.  And attempts to install 9.0.47 (there may have been multiple intermediate releases, but 9.0.47 was the one we deployed last) failed.  I also noticed that 9.0.115 wouldn't upgrade from 9.0.47--both were still listed in Add/Remove Programs; although only 9.0.115 was in use.

In research, I found two things were required to really do what I expected an MSI installation/uninstallation do to:

  • when uninstalling from Add or Remove Programs, actually uninstall 9.0.115
  • allow for an older version to be installed after 9.0.115 has been uninstalled 

To really uninstall it, you had to either use multiple SUBINACL to fix permissions on multiple regkeys and files, or just use the Adobe provided "uninstall_flash_player.exe", (Google for that name, or it's Adobe doc 14157).  To allow for an older version to be installed, you had to delete this regkey: HKLM\Software\Macromedia\FlashPlayer\SafeVersions\9.0

If you've already deployed the .MSI, just keep the above in mind for the next release--if you find it won't upgrade/uninstall 9.0.115, you may need to script a solution.  If you haven't yet deployed 9.0.115, AND you know all about transforms, stay tuned.  I'll blog 'what I did' to the Transform to make the MSI upgrade from 9.0.47, really uninstall flash, and clear that regkey.  (It's not pretty, I'm sure a real packager would do it better/correctly, but it works.)

Teasers:

Part 1 of 3: How to really uninstall Adobe FlashPlayer 9.0.115, the redistributable MSI (this entry)
Part 2 of 3: Customizing the .MSI so it'll really uninstall (tomorrow)
Part 3 of 3: If you use ITCU, delivering your customized Flash Player.msi + .mst via ITCU. (next day)

Posted by skissinger | with no comments
Filed under: