Freitag, 30. November 2012

Erfolg oder Misserfolg bei Softwarepaketen


Bei einer Softwarepaketierung sollte man sich darüber im Klaren sein, wie SCCM bei einer Softwareverteilung auf Rückgabewerte des Pakets reagiert (%ERRORLEVEL%).
Dazu gibt es im Web zahlreiche Artikel.

  • ExecutionFailureRetryErrorCodes
    4,5,8,13,14,39,51,53,54,55,59,64,65,67,70,71,85,86,87, 112,128,170,267,999,1003,1203,1219,1220,1222, 1231,1232,1238,1265,1311,1323,1326,1330,1618,1622,2250
  • ExecutionFailureRetryCount
    1008
  • ExecutionFailureRetryInterval
    600 (Sekunden)
  • RebootReturnCodes
    1604,1641,3010,3011

Wer sich also wundert, dass ein Softwarepaket automatisch ständig neu installiert wird, der sollte sich den Returncode (%ERRORLEVEL%) des Pakets mal näher anschauen.


Grundsätzlich gilt:
Errorlevel = 0    -> Erfolg
Errorlevel <> 0  -> Misserfolg, wobei die RebootReturnCodes nicht als Fehler zu werten sind.

Wer zusätzliche Informationen SCCM mitteilen will, kann die sogenannten MIF-Files für das SCCM Reporting verwenden. Dieses hat sich auch bei SCCM 2012 nicht geändert. Einigen erscheint die Verwendung von MIF-Files vielleicht etwas antiquiert, jedoch verbergen sich in ihnen sehr ausführliche Informationen für das SCCM-Reporting.

Alle SCCM-Softwarepakete des neo42 Paketdepots geben gezielte Rückmeldungen an SCCM zurück und verwenden das MIF-File Reporting.

Donnerstag, 29. November 2012

Die richtige Wahl der Umgebung bei Softwarepaketen


Bei einer Softwarepaketierung sollte man sich recht frühzeitig entscheiden, in welcher Umgebung das Softwarepaket laufen soll.
Der SCCM Client ist grundsätzlich erst einmal eine 32Bit-Anwendung. Dieses hat sich auch bei SCCM 2012 nicht geändert.
Bei einem reinen 32Bit Softwarepaket wird es auch ohne besondere Verfahren auf beiden Plattformen (x86/x64) keine Probleme geben.
Sobald aber 64Bit Komponenten ins Spiel kommen, wird es interessant.
Ein Softwarepaket, welches beide Plattformen abdecken soll, sollte sich selbstständig für die richtige Plattform entscheiden.
Das Paket sollte feststellen, dass es auf x86 nur die x86 relevanten Teile benutzt.
Das Paket sollte feststellen, dass es auf x64 die x64 relevanten Teile aber auch die eventuell benötigten x86 Teile berücksichtigt.

Frage:
Wie ist also das 64Bit Problem zu lösen ?

Antwort:
Man startet durch eine Analyse im Paket den richtigen Prozess (x86/x64), abhängig von der Umgebung, und führt das Softwarepaket mit der ermittelten Architektur aus.
Bei der Paketierung ist die Nutzung der folgenden Umgebungsvariablen unumgänglich.

//Auf 32Bit die cmd.exe ausgeführt.//
CommonProgramFiles=C:\Program Files\Common Files
PROCESSOR_ARCHITECTURE=x86
ProgramFiles=C:\Program Files
%WinDir%\System32=C:\Windows\System32
HKEY_LOCAL_MACHINE\SOFTWARE\...=HKEY_LOCAL_MACHINE\SOFTWARE\...
//Auf 64Bit die 64Bit cmd.exe ausgeführt.//
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
PROCESSOR_ARCHITECTURE=AMD64
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
%WinDir%\System32=C:\Windows\System32
HKEY_LOCAL_MACHINE\SOFTWARE\...=HKEY_LOCAL_MACHINE\SOFTWARE\...
HKEY_LOCAL_MACHINE\Wow6432Node\SOFTWARE\...=HKEY_LOCAL_MACHINE\Wow6432Node\SOFTWARE\...


//Auf 64Bit die 32Bit cmd.exe ausgeführt.//
CommonProgramFiles=C:\Program Files (x86)\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_ARCHITEW6432=AMD64
ProgramFiles=C:\Program Files (x86)
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
%WinDir%\System32=C:\Windows\SysWOW64
%WinDir%\Sysnative=C:\Windows\System32
HKEY_LOCAL_MACHINE\SOFTWARE\...=HKEY_LOCAL_MACHINE\Wow6432Node\SOFTWARE\...
HKEY_LOCAL_MACHINE\Wow6432Node\SOFTWARE\...=HKEY_LOCAL_MACHINE\Wow6432Node\SOFTWARE\...
Spezieller Alias für FileRedirection:
%windir%\sysnative
(Bei Problemen unter Windows Server 2003 und Windows XP http://support.microsoft.com/kb/942589/en-us)
Alle SCCM-Softwarepakete des neo42 Paketdepots führen die Plattform Analyse durch, und starten im Paket über den Schalter „Platform“ die Ausführung in der richtigen Umgebung.

Das neo42 Paketdepot – Lösungen aus der Praxis.
kontakt@neo42.de
http://www.neo42.de/kontakt
+49 2261/99822-20