Rubrique précédente: Création d'un volume de package logicielRubrique suivante: Scellement d'un package logiciel


Création d'une procédure de package logiciel

Une fois l'opération ci-dessus terminée, vous devez créer une procédure (installation, configuration, activation ou désinstallation) à associer au package logiciel et à son volume. Plusieurs propriétés doivent être configurées pour que la procédure s'exécute correctement. Pour obtenir une description complète de chaque propriété, consultez l'aide Unicenter DSM.

Exemple 7 : Création d'une procédure de package logiciel simple

//Cette méthode permet de créer une procédure d'installation logicielle simple
//à l'aide d'un fichier unique provenant du volume.
//Si vous définissez un job autre qu'un job logiciel d'installation, vous devez tout de même // définir une procédure d'installation, en plus de votre procédure de désinstallation.
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);
	//Définissez le masque de gestion.
	SoftwarePackageProcedureManagementTypeMask mgmtMsk =
	new SoftwarePackageProcedureManagementTypeMask();
	mgmtMsk.setSd(true);
	mgmtMsk.setSm(true);
	props.setManagementTypeMask(mgmtMsk);
	//Définissez le masque d'opération.
	SoftwarePackageProcedureOperationMask opMsk =
	new SoftwarePackageProcedureOperationMask();
	opMsk.setAutoDeliverItem(true);
	opMsk.setBackground(false);
	opMsk.setOffline(false);
	props.setOperationMask(opMsk);
	props.setOperationMaskSupplied(true);
	//Définissez ce paramètre en tant que tâche d'installation.
	props.setSoftwarePackageProcedureTask (SoftwarePackageProcedureTask.INSTALL);
	props.setSoftwarePackageProcedureTaskSupplied(true);
	//Définissez ce paramètre pour indiquer que la tâche est un fichier exécutable.
	props.setSoftwarePackageProcedureType (SoftwarePackageProcedureType.EXEFILE);
	props.setSoftwarePackageProcedureTypeSupplied(true);
	//Effectuez la liaison avec le volume et le package.
	props.setSoftwarePackageVolumeId(volumeID);
	props.setSoftwarePackageVolumeIdSupplied(true);
	props.setSoftwarePackageId(packageID);
	props.setSoftwarePackageIdSupplied(true);
		
	//Valeurs représentant la procédure elle-même.
	props.setProcToRun(cfg.getProcedureToRun());
	props.setProcToRunSupplied(true);
	props.setSoftwarePackageProcedureName(cfg.getProcedureName());
	props.setSoftwarePackageProcedureNameSupplied(true);
	props.setComment(cfg.getProcedureComment());
	props.setCommentSupplied(true);
	//Paramètres complémentaires.
	//La procédure peut être exécutée sous n'importe quel système d'exploitation.
	//Pour connaître les valeurs possibles, voir operatingSystemType.
	props.setOperatingSystemType(196608);
	props.setOperatingSystemTypeSupplied(true);
	//Créez la procédure.
	procID = wsAPIconnector.createSoftwarePackageProcedure (
	getSessionId(), props);
	if(procID.equals(""))
		return UDSMWebService.PROCEDURE_CREATION_ERROR;
	else
		return UDSMWebService.RESULT_OK;
}