Vorheriges Thema: Erstellen von Softwarepaket-VolumesNächstes Thema: Versiegeln eines Softwarepakets


Erstellen von Softwarepaketprozeduren

Erstellen Sie eine Softwarepaket-Prozedur ("install", "configure", "activate" oder "uninstall"), die dem Softwarepaket und seinem Volume zugeordnet ist. Damit eine Prozedur ordnungsgemäß ausgeführt wird, muss eine Vielzahl von Eigenschaften festgelegt werden.

Beispiel 7: Erstellen einer einfachen Softwarepaketprozedur

//Diese Methode erstellt eine einfache Softwareinstallationsprozedur
//mit der einzigen im Volume vorhandenen Datei.
//Würde ein Nicht-Installationssoftwarejob definiert, müsste sowohl //eine Installationsprozedur als auch eine Nicht-Installationsprozedur definiert werden.
private int createSimpleSoftwareProcedure() throws Exception
{
	CreateSoftwarePackageProcedureProperties props =
	new CreateSoftwarePackageProcedureProperties();
		
	props.setComment(cfg.getProcedureToRun());
	props.setCommentSupplied(true);
	props.setSoftwarePackageProcedureName(cfg.getProcedureToRun());
	props.setSoftwarePackageProcedureNameSupplied(true);
	SoftwarePackageProcedureBootMask mask =
	new SoftwarePackageProcedureBootMask();
	mask.setNoReboot(true);
	props.setBootAfterMask(mask);
	props.setBootAfterMaskSupplied(true);
	props.setBootBeforeMask(mask);
	props.setBootBeforeMaskSupplied(true);
	//Management-Maske festlegen.
	SoftwarePackageProcedureManagementTypeMask mgmtMsk =
	new SoftwarePackageProcedureManagementTypeMask();
	mgmtMsk.setSd(true);
	mgmtMsk.setSm(true);
	props.setManagementTypeMask(mgmtMsk);
	//Festlegen der Maske für den Vorgang.
	SoftwarePackageProcedureOperationMask opMsk =
	new SoftwarePackageProcedureOperationMask();
	opMsk.setAutoDeliverItem(true);
	opMsk.setBackground(false);
	opMsk.setOffline(false);
	props.setOperationMask(opMsk);
	props.setOperationMaskSupplied(true);
	//Diesen Task als Installationstask festlegen.
	props.setSoftwarePackageProcedureTask (SoftwarePackageProcedureTask.INSTALL);
	props.setSoftwarePackageProcedureTaskSupplied(true);
	//Festlegen, dass der Task eine ausführbare Datei ist.
	props.setSoftwarePackageProcedureType (SoftwarePackageProcedureType.EXEFILE);
	props.setSoftwarePackageProcedureTypeSupplied(true);
	//Verknüpfung von Volume und Paket.
	props.setSoftwarePackageVolumeId(volumeID);
	props.setSoftwarePackageVolumeIdSupplied(true);
	props.setSoftwarePackageId(packageID);
	props.setSoftwarePackageIdSupplied(true);
		
	//Werte, die die Prozedur selbst darstellen.
	props.setProcToRun(cfg.getProcedureToRun());
	props.setProcToRunSupplied(true);
	props.setSoftwarePackageProcedureName(cfg.getProcedureName());
	props.setSoftwarePackageProcedureNameSupplied(true);
	props.setComment(cfg.getProcedureComment());
	props.setCommentSupplied(true);
	//Zusätzliche Parameter
	//Die Prozedur kann auf jedem beliebigen Betriebssystem ausgeführt werden.
	// Informationen zu den möglichen Werten finden Sie unter "operatingSystemType".
	props.setOperatingSystemType(196608);
	props.setOperatingSystemTypeSupplied(true);
	//Erstellen der Prozedur.
	procID = wsAPIconnector.createSoftwarePackageProcedure (
	getSessionId(), props);
	if(procID.equals(""))
		return UDSMWebService.PROCEDURE_CREATION_ERROR;
	else
		return UDSMWebService.RESULT_OK;
}