Thursday, June 25, 2009

QuickTime – Jak dostosować instalację.

Aktualnie przygotowuje sobie paczki dla SCCM. Co prawda narazie testowo ale wszelkie znaki na niebie wskazują, że będę go wdrażał w swoim środowisku :)

Podczas przygotowania kilkunastu paczek, które muszą mieć odpowiednio zmodyfikowany instalator natknąłem się nad kilka rodzynków. Paczką, która najbardziej dała mi w kość był  QuickTime. W sumie uparłem się by zmodyfikować jego instalator a nie tworzyć nową paczkę za pomocą WinInstall LE:). Poniżej opis jak stworzyć paczkę, którą da się wypchnąć przez SCCM.

  1. Po pobraniu najnowszego instalatora QuickTime należy plik quicTimeInstaller.exe rozpakować za pomocą 7zipa. Od teraz będzie nas interesował tylko plik QuickTime.msi.

    Ewentualnie podczas instalacji można wyszukać sobie odpowiedni plik w katalogu Temp aktualnie zalogowanego użytkownika (c:\Document and Settings\użytkownik\Ustawienia lokalne\Temp\losowykatalog\QuickTime.msi).

  2. Otwieramy pakiet MSI za pomocą Orca i na samym początku z menu View wybieramy Summary Information…

  3. W nowym oknie w polu Language pozostawiamy tylko numerek 1033 (język angielski)

  4. Potem tworzymy sobie nowy plik odpowiedzi (Transform->New Transform)

  5. Teraz możemy modyfikować nasz pakiet:)

    • Na samym początku w tabeli LaunchCondidions musimy usunąć wpis “NOT BNEWERPRODUCTISINSTALLED “. Jeśli ten wpis nie zostanie usunięty to pakiet msi będzie twierdził, że w systemie jest nowsza wersja QuickTime i odmówi instalacji

      image

    • Jeśli chcemy usunąć dodatkowego skrótu z pulpitu oraz wyłączyć autoupdate to  w tabeli Property zmieniamy wartość wpisów REGSRCH_DESKTOP_SHORTCUTS,  QT_TRAY_ICON, SCHEDULE_ASUW na wartość 0. Natomiast wartość AdminProperties ustawiamy na: PROGRAMMENUNAME;QTJAVADIR;QTPROGRAMMENUFOLDERNAME a wartość SecureCustomProperties na BNEWERPRODUCTISINSTALLED;EXISTINGINSTALLDIR;EXISTINGPROGRAMMENUNAME;
      EXISTINGQTCOMPONENTS;EXISTINGQTEXTENSIONS;EXISTINGQTJAVADIR;EXISTINGQTSYSTEM;
      INSTALLDIR;ISACTIONPROP1;ITUNES70_801_INSTALLED;PROGRAMMENUNAME;
      QT7PP1INSTALLED;QTINFO.BISQTPRO;QTINFO.BITUNESHELPERRUNNING;
      QTINFO.BNEWERQTISINSTALLED;QTINFO.BOLDERQTISINSTALLED;
      QTINFO.BQTISINSTALLED;QTINFO.BSETDONOTLOADFROMBUILDRESULTS;
      QTINFO.BUPGRADEWOULDINVALIDATEPROKEY;QTINFO.BUYQTPROURL;
      QTINFO.CURRENTQTINSTALLPATH;QTINFO.CURRENTQTMACVERSNUM_BASE10;
      QTINFO.CURRENTQTPROCESSCOUNT;QTINFO.CURRENTQTVERSNUM;
      QTINFO.CURRENTQTVERSNUM_BASE10;QTINFO.CURRENTQTVERSSTR;
      QTINFO.EXISTINGQTVERSNUM;QTINFO.EXISTINGQTVERSSTR;QTINFO.QTPROREGNAME;
      QTINFO.QTPROREGNUMBER;QTJAVADIR;QTPLUGINOCXFOLDER;QTPROGRAMMENUFOLDERNAME;
      REGSRCH_ITUNESHELPER_PATH;UPGRADEFOUND;UPGRADING750;UPGRADING755

    • Jeśli chcesz by skróty QuickTime wgrały się do odpowiedniego katalogu w menu start to należy w tabeli CustomAction zmodyfikować cel akcji SET_PROGRAMMENUNAME na np. Multimedia\


    • W tabeli Shortcut mamy możliwość dodać lub usunąć nowe skróty, które potworzy instalator


  6. Po modyfikacjach generujemy sobie plik odpowiedzi (TRANSFORM->Generate Transforms)

  7. W SCCM tworzymy nową paczkę, jako komendę do uruchomienia instalatora programu  wklepujemy: msiexec /i QuickTime.msi TRANSFORMS=install.mst /qb

  8. To byłoby na tyle:)

P.S.

Sorry za ten długi klucz na środku ale nie pamiętam, które atrybuty z niego usunąłem :(

2 comments:

  1. ...TRANSFORMS=install.mst /qb >>lepszy byłby parametr /qn wtedy mamy całkowicie unnated .To że coś się instaluje poznamy po procesach

    ReplyDelete
  2. /qb z przyzwyczajenia by widzieć, że coś się dzieje. Czasami procesy istnieją i są aktywne a program wisi. Faktycznie do finalnej dystrybucji /qn będzie bardziej przydatne

    ReplyDelete