Flash Player deployen over netwerk

Pagina: 1
Acties:

  • bastv
  • Registratie: September 2005
  • Laatst online: 26-07 21:40
Flash player word gewoon veel gebruikt tegenwoordig. En krijg steeds vaker het verzoek als ik die bij een gebruiker kan installeren.
Het probleem is alleen dat ik hem niet goed centraal kan deployen.
Ik heb die msi file van macromedia (adobe) wel en heb daar ook een .mst file bij gemaakt.
Deze werkt echter niet als ik hem laat installeren via AD software deployment.
Gebruikers hier werken ook allemaal op user niveau dus login script met silent install heeft ook geen zin.
Weet iemand anders nog een goede oplossing voor dit probleem?

AD Server = Windows Server 2003
Clients = Windows XP Pro

Verwijderd

wat krijg je in de eventlog van de computer als je hem uitrolt via AD?

  • bastv
  • Registratie: September 2005
  • Laatst online: 26-07 21:40
Het probleem dat hij niet werkt is dat je altijd nog een venster krijgt waarbij je op OK moet drukken.
Maar kan me niet voor stellen dat andere systeem beheerders hier nooit problemen mee hebben gehad

[ Voor 33% gewijzigd door bastv op 15-06-2006 15:08 ]


Verwijderd

bastv schreef op donderdag 15 juni 2006 @ 15:07:
Het probleem dat hij niet werkt is dat je altijd nog een venster krijgt waarbij je op OK moet drukken.
Maar kan me niet voor stellen dat andere systeem beheerders hier nooit problemen mee hebben gehad
Waarom niet gewoon een nieuwe msi scripten? flash bestaat volgens mij uit maar 2 bestanden.

  • bastv
  • Registratie: September 2005
  • Laatst online: 26-07 21:40
na lang zoeken heb ik eindelijk een oplossing gevonden denk ik
Van een website:
After days of fighting with this, I finally found a workaround to install this successfully via SMS, *while a non-admin user is logged in to the desktop*. In my environment, this ability is a must.

First and foremost, what I am doing probably violates the Macromeda/Adobe distribution license agreement since you must modify the file install_flash_player_active_x.msi. However I consider the ability to install while a normal user is logged in as fixing their broken installation. Also keep in mind that this will break the install for NT4, should work okay on 2K, tested on XPSP2.

First, edit install_flash_player_active_x.msi with the editor of your choice. Find the InstallExecute sequence and remove the action "EngineStartup.4F635B62_07BF_4779_B74E_D80C29D508E3"

This action installs and updates the InstalLScript 10 engine, every time you run the MSI. Save the MSI package.

After this, you need to get a copy of ISSCRIPT10.MSI (visit this site for a download link http://consumer.installshield.com/kb.asp?id=Q108322

Edit this MSI and find the registry key HKCR\AppId\{24D495A5-A174-4945-819D-CF294600C500}\RunAs. Change the value of this registry key to "" (it should start as "Interactive User". This will change the DCOM configuration of the InstallShield scripting engine to use "Launching User" context rather than "Interactive User" context, which is what makes the installation fail when a non-admin user is logged in to the desktop.

If you already have ISSCRIPT10.MSI installed on your PC, then I recommend using this VB code in a script to cleanup and change the DCOM settings:

Sub FixISDCOM
Const HKEY_CLASSES_ROOT = &H80000000
strComputer = "."
Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_DCOMApplicationSetting",,48)
For Each objItem in colItems
If objItem.Description <> "" Then
arrFind=Split(objItem.Description)
For i=0 To UBound(arrFind)
If lcase(arrFind(i))="installshield" then
strKeyPath = "AppID\" & objItem.AppID
strEntryName = "RunAs"
strValue = ""
objReg.DeleteValue HKEY_CLASSES_ROOT,strKeyPath,strEntryName
End If
Next
End If
Next
End Sub

This will iterate through the DCOM objects, find every instance referring to the InstallShield InstallDriver object, and delete the RunAs key which resets the context. This needs to go in a script before launching the
install_flash_player_active_x.msi.

So a sample vbscript might look like this:

Call FixISDCOM
set objSh = createobject("wscript.shell")
objSh.run "msiexec.exe /i ISScript1050.Msi /qn REBOOT=ReallySuppress ALLUSERS=1",0,true
objSh.run "msiexec.exe /i install_flash_player_active_x.msi /qn REBOOT=ReallySuppress ALLUSERS=1",0,true

set objSh = nothing
wscript.quit(0)
Sub FixISDCOM
Const HKEY_CLASSES_ROOT = &H80000000
strComputer = "."
Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_DCOMApplicationSetting",,48)
For Each objItem in colItems
If objItem.Description <> "" Then
arrFind=Split(objItem.Description)
For i=0 To UBound(arrFind)
If lcase(arrFind(i))="installshield" then
strKeyPath = "AppID\" & objItem.AppID
strEntryName = "RunAs"
strValue = ""
objReg.DeleteValue HKEY_CLASSES_ROOT,strKeyPath,strEntryName
End If
Next
End If
Next
End Sub

I hope this helps save someone from the major headache I now have!

[ Voor 7% gewijzigd door bastv op 15-06-2006 17:00 ]