前のトピック: ソフトウェア パッケージ ボリュームの作成次のトピック: ソフトウェア パッケージの封印


ソフトウェア パッケージ プロシージャの作成

ソフトウェア パッケージおよびそのボリュームに関連付けられたソフトウェア パッケージ プロシージャ(インストール、設定、アクティブ化、アンインストールなど)を作成します。 プロシージャが正しく実行されるには、多くのプロパティを設定する必要があります。

例 7: 単純なソフトウェア パッケージ プロシージャの作成

//このメソッドによって、ボリュームのファイルを 1 つ使用した
//単純なソフトウェア インストール プロシージャが作成されます
//インストール以外のソフトウェア ジョブを定義している場合は、 //インストール プロシージャだけでなく、インストール以外のプロシージャも定義する必要があります。
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);
	//管理マスクを設定します
	SoftwarePackageProcedureManagementTypeMask mgmtMsk =
	new SoftwarePackageProcedureManagementTypeMask();
	mgmtMsk.setSd(true);
	mgmtMsk.setSm(true);
	props.setManagementTypeMask(mgmtMsk);
	//オペレーション マスクを設定します
	SoftwarePackageProcedureOperationMask opMsk =
	new SoftwarePackageProcedureOperationMask();
	opMsk.setAutoDeliverItem(true);
	opMsk.setBackground(false);
	opMsk.setOffline(false);
	props.setOperationMask(opMsk);
	props.setOperationMaskSupplied(true);
	//インストール タスクを実行するために設定します
	props.setSoftwarePackageProcedureTask (SoftwarePackageProcedureTask.INSTALL);
	props.setSoftwarePackageProcedureTaskSupplied(true);
	//タスクが実行ファイルであることを示すために設定します
	props.setSoftwarePackageProcedureType (SoftwarePackageProcedureType.EXEFILE);
	props.setSoftwarePackageProcedureTypeSupplied(true);
	//ボリュームおよびパッケージへのリンク
	props.setSoftwarePackageVolumeId(volumeID);
	props.setSoftwarePackageVolumeIdSupplied(true);
	props.setSoftwarePackageId(packageID);
	props.setSoftwarePackageIdSupplied(true);
		
	//プロシージャ自体を示す値
	props.setProcToRun(cfg.getProcedureToRun());
	props.setProcToRunSupplied(true);
	props.setSoftwarePackageProcedureName(cfg.getProcedureName());
	props.setSoftwarePackageProcedureNameSupplied(true);
	props.setComment(cfg.getProcedureComment());
	props.setCommentSupplied(true);
	//追加パラメータ
	//このプロシージャは、どの OS でも実行できます
	//指定可能な値のセットについては、operatingSystemType を参照してください
	props.setOperatingSystemType(196608);
	props.setOperatingSystemTypeSupplied(true);
	//プロシージャを作成します
	procID = wsAPIconnector.createSoftwarePackageProcedure (
	getSessionId(), props);
	if(procID.equals(""))
		return UDSMWebService.PROCEDURE_CREATION_ERROR;
	else
		return UDSMWebService.RESULT_OK;
}