I discovered the hard way that pushing out a script via SCCM to update an InstallShield app can go horribly wrong. It's the DCOM RunAs issue (error 1603) which I've discovered is well covered here.  I can write a script to hunt for all AppIDs whose names are like "%InstallShield%" and remove the associated RunAs value to set the context to Launching User but is it safe for me to leave it like that or do I need to be backing up these keys and restoring the original settings after the app has been updated?  What might be the side effects of leaving them deleted?  Thanks for any thoughts.

I've attached some PowerShell for exploring the current settings that may be of interest to anyone who stumbles across this page:

if ((Test-Path -Path "HKCR:") -eq $false) {
    New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT | Out-Null
}
Get-WmiObject -Query "SELECT Name,AppID FROM Win32_DCOMApplication WHERE Name LIKE '%InstallShield%'" | ForEach-Object {
    $IS_AppID = $_.AppID
    # Check key exists
    if (Test-Path -Path "HKCR:\AppID\$IS_AppID") {
        # Check value exists
        if ([bool](Get-ItemProperty -Path "HKCR:\AppID\$IS_AppID" -Name RunAs -ErrorAction SilentlyContinue)) {
            $IS_RunAs = (Get-ItemProperty -Path "HKCR:\AppID\$IS_AppID" -Name RunAs | Select-Object -ExpandProperty RunAs)
        } else {
            # Absent value = The Launching User
            $IS_RunAs = "Launching User"
        }
    } else {
        $IS_RunAs = "<no AppID key>"
    }
    New-Object -TypeName PSObject -Property @{ "DCOM Name"=$_.Name; "AppID" = $IS_AppID; "RunAs" = $IS_RunAs }
} | Select-Object "DCOM Name", AppID, RunAs | Format-Table -AutoSize
Answer Summary:
Cancel
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Answers

1

Don't change the ID: delete the 'RunAs' value entirely.

As to side effects, in over [I've forgotten] years of doing this stuff, I have never seen any ill effect from that deletion. Indeed, I think I'm right in remembering that [whoever owned IS at the time] acknowledged it as a bug and issued a patched installer.

Answered 12/02/2013 by: VBScab
Red Belt

Please log in to comment
Answer this question or Comment on this question for clarity

Share