ConfigMgr: PDFCreator 2.0.2 bereitstellen

PDFCreator 2.0.2 ist etwas einfacher bereitzustellen, als die 1er Linie, da keine Browsertoolbars erzwungen werden. Nach meinen Tests (bitte kommentieren, falls ich etwas übersehen habe), wird beim Silent Setup keine Adware installiert (beim normalen Setup kommt am Ende noch ein extra Setup mit irgendeiner Zusatzsoftware).

PDFForge verwendet InnoSetup. Die nachfolgende appdefinition.xml erzeigt zuerst ein inf-file, um den Setupprozess genauer steuern zu können. Danach wird das InnoSetup silent mit diesem inf-file ausgeführt.
Es wird die Firma und die Produktversion überschrieben, da die in der Datei hinterlegte Produktversion inkl. einer Buildnummer ist (2.0.2.751), die bei der Detection in der Registry nicht gefunden werden kann.

Nochmal zur Erinnerung, wie die Anwendung im ConfigMgr erstellt werden kann:

  • Aktuelle Version des AutomaticDeploymentToolkits herunterladen und wie in Toolkit v0.1 beschrieben einrichten
  • Neuen Ordner (z.B. PDFCreator202) anlegen
  • pdfcreator-2_0_2-setup.exe herunterladen und in dem Ordner ablegen
  • Eine Datei appdefinition.xml anlegen und mit dem unten angehängten Inhalt füllen
  • In Powershell das Toolkit mit
    .\main.ps1 -appDefinition .\PDFCreator202\appdefinition.xml

    aufrufen

<appdefinition>
<file>PDFCreator-2_0_2-setup.exe</file>
<hash type="SHA256">C5F8E0F7A0D27BEC38C135960FE2AF3D3ACE8FE65CD7567FC0C7C646BB3F815D</hash>
<info>
	<company>pdfforge GbR</company>
	<productversion>2.0.2</productversion>
	<setupType>InnoSetup</setupType>
	<isX86>false</isX86>
	<hasUninstall>true</hasUninstall>
</info>
<install>
$inf=Join-Path $env:temp pdf.inf
$target=Join-path $env:programfiles "PDFCreator"
$content="[Setup]
Lang=German
Dir=$target
Group=PDFCreator
NoIcons=0
SetupType=custom
Components=program,images2pdf
Tasks=winexplorer
Printername=PDFCreator" -replace "`n", "`r`n"
Out-File -FilePath $inf -Force -InputObject $content -Encoding ascii
$nsisLog=join-path $logDirectory ($installName + '_' + $appDeployToolkitName + '_' + $deploymentType + '_NSIS.log')
Show-InstallationProgress -StatusMessage "Installing $appName $appVersion. This may take some time. Please wait..."
Execute-Process -Path "PDFCreator-2_0_2-setup.exe" -Parameters "/LOADINF=`"$inf`" /NORESTART /LOG /VERYSILENT /SUPPRESSMSGBOXES /LOG=`"$nsisLog`"" -WindowStyle Hidden
</install>
<uninstall/>
<detection/>
</appdefinition>
Posted in automateAppDeployment, Deutsch, Powershell | Tagged , | Leave a comment

ConfigMgr: Automatisierte Softwarepaketierung und -bereitstellung v0.4

Anbei eine aktualisierte Version der Powershell Scripte. Anleitung zur Einrichtung bitte dem ersten Post entnehmen: ConfigMgr: Automatisierte Softwarepaketierung und -bereitstellung
Das Changelog:

0.1 - 2015-01-08
* erstes Alpharelease
0.2 - 2015-01-12
* Verbesserung der Ersetzungsfunktion im PS AppDeploy Handling
0.3 - 2015-01-25
* interne Neustrukturierung
* Parameterübergabe per Objekt
* Doppelte Funktionen zusammengeführt
* Besseres Handling von Paketen in x86 und x64 Format
* Testgruppe kann angegeben werden, die zu der neuen Collection hinzugefügt wird (Include Collection)
* Beide Module zu einem zusammengeführt
* XML Format angepasst (Redundanzen entfernt)
0.4 - 2015-03-02
* BUG: Normalisierung des UNC Pfads eingebaut (verhindert einen invaliden Pfad wie \\cm\Company inc.\Software)
* BUG: Automatische Detection wurde bei MSI nicht erstellt
* BUG: Fehler bei NoUninstall Tag Auswertung
* NSIS: Create NSIS Logs to logs\Software for install and uninstall

automateAppDeployment (Version 0.4) (2)

Posted in automateAppDeployment, Configuration Manager, Deutsch, Powershell, System Center, System Center 2012 | Tagged , , , | Leave a comment

ConfigMgr: Oracle JRE 7u75 verteilen

Natürlich ist 7u71 nicht die neueste Version. Daher hier das XML für die Version 7u75:

<appdefinition>
<file>jre1.7.0_75.msi</file>
<hash type="SHA256">63FDCEF04140AFE7236DD8BE904066056EA8E1C7619DE0F8F9496FDB241DE507</hash>
<info>
	<company>Oracle Corporation</company>
	<setupType>MSI</setupType>
	<isX86>true</isX86>
	<hasUninstall>true</hasUninstall>
</info>
<install>
Execute-MSI -Action Install -Path "jre1.7.0_75.msi" -Parameters "REBOOT=ReallySuppress JAVAUPDATE=0 CUSTOM=1 /QB"
if ($is64Bit) {$regPath="HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*"} else { $regPath="HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*"}
$javaPath=(Get-ItemProperty $regPath | where {$_.psChildname -like "{26A24AE4-039D-4CA4-87B4-2F03217075FF}" -and $_.DisplayVersion -eq "7.0.750" -and $_.WindowsInstaller -eq 1}).InstallLocation
$jqs=join-path (join-path $javaPath "bin") "jqs.exe"
if (test-path $jqs) {
	Execute-Process -Path "$jqs" -Parameters "-unregister" -WindowStyle Hidden -ContinueOnError $true
}
$runKey="HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
$run=Get-Item $runKey
if ($run.GetValue("SunJavaUpdateSched",$null)) {
	remove-itemProperty -Path $runKey -Name "SunJavaUpdateSched"
}
if ($is64Bit) {
$runKey="HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run"
$run=Get-Item $runKey
if ($run.GetValue("SunJavaUpdateSched",$null)) {
	remove-itemProperty -Path $runKey -Name "SunJavaUpdateSched"
}
}
</install>
<uninstall/>
<detection/>
</appdefinition>
Posted in automateAppDeployment, Configuration Manager, Deutsch, Powershell, System Center, System Center 2012 | Tagged , , | Leave a comment

ConfigMgr: Oracle JRE 7u71 bereitstellen

Obwohl bereits JRE8 bereitsteht, wird die 7er Version trotzdem noch verteilt. Das Setup hat trotz anderslautender Parameter die Autoupdate Dienste mitinstalliert, die in einem Unternehmensumfeld nicht sinnvoll sind.
Daher entfernt diese appdefinition.xml Datei diese nach der Installation. Das notwendige MSI File erhält man, in dem man die Exe ausführt und dann (ohne das Setup zu beenden) die msi und cab Datei aus dem %userprofile%\AppData\LocalLow\Sun\Java\jre1.7.0_71 kopiert.

Continue reading

Posted in automateAppDeployment, Configuration Manager, Deutsch, Powershell, System Center, System Center 2012 | Tagged , , | 1 Comment

ConfigMgr: eDocPrint Pro 3.21

Es gibt unzählige Clientdruckertreiber, um PDFs zu erzeugen. eDocPrint Pro ist eines davon. Die Nicht PDF-A Variante scheint kostenlos zu sein. Die Software selber ist mit dem Advanced Installer (http://www.advancedinstaller.com/user-guide/exe-setup-file.html) verpackt.
Die kostenlose Variante ist am einfachsten über folgenden Link zu finden: http://www.pdfblog.at/2014/10/edocprintpro-version-3-21-verwendet-ghostscript-9-15/.

Sollte auf dem Zielsystem kein GhostScript installiert sein, so versucht die Software dieses automatisch herunterzuladen. Daher sollte GhostScript manuell heruntergeladen werden und als Abhängigkeit definiert werden. Die Paketierung von GhostScript ist unter folgendem Link beschrieben: GhostScript 9.15.
Der Installer beinhaltet die x64 und x86 Version und benötigt je nach Endgerät ebenfalls die x86 oder x64 Variante von GhostScript.

Da ich den Advanced Installer nicht als Installationstyp aufgeführt habe, nutze ich NSIS als generischen Platzhalter:
Continue reading

Posted in automateAppDeployment, Configuration Manager, Deutsch, Powershell, System Center 2012 | Tagged , | Leave a comment