Les administrateurs système doivent pouvoir installer et enregistrer une nouvelle version d'un type de ressources existant, pour permettre l'enregistrement de plusieurs versions d'un type de ressources donné et la migration d'une ressource existante vers une nouvelle version du type de ressources sans devoir ni supprimer, ni recréer la ressource. Les développeurs de ressources doivent maîtriser les exigences requises pour permettre la mise à niveau d'un type de ressources et la migration des ressources.
Lorsqu'un type de ressources est conçu dans le but de pouvoir être mis à niveau, il est dit qu'il prend en charge des mises à niveau.
La nouvelle version d'un type de ressources peut s'avérer sensiblement différente de la version antérieure. Voici la liste des caractéristiques qui ont pu être modifiées :
les attributs de propriétés du type de ressources ;
l'ensemble des propriétés de ressources déclarées, y compris les propriétés standard et d'extension ;
les attributs de propriétés de ressource, comme default, min, max, arraymin, arraymax ou la capacité de réglage ;
l'ensemble des méthodes déclarées ;
la mise en œuvre des méthodes ou des détecteurs.
Le développeur du type de ressources décide quand il est possible de migrer une ressource existante vers une nouvelle version en choisissant l'une des options de capacité de réglage suivantes. Ces options sont classées de la moins à la plus restrictive :
à n'importe quel moment (ANYTIME) ;
lorsque la ressource n'est pas contrôlée (WHEN_UNMONITORED) ;
lorsque la ressource est hors ligne (WHEN_OFFLINE) ;
lorsque la ressource est désactivée (WHEN_DISABLED) ;
lorsque le groupe de ressources n'est pas géré (WHEN_UNMANAGED) ;
lors de la création (AT_CREATION).
ce chapitre traite de la procédure de mise à niveau au moyen de la commande scrgadm mais l'administrateur n'est pas contraint d'utiliser cette commande. Il peut également effectuer la mise à niveau par le biais de l'interface utilisateur graphique ou au moyen de la commande scsetup.