Vous êtes sur la page 1sur 133

Guide du développeur

CopyControl

La Foltière
37270 AZAY/CHER
FRANCE

Tel: +33 (0)2 47 35 70 35


Fax: +33 (0)2 47 35 70 25
E-mail: aplika@aplika.fr
Web: http://www.aplika.fr
Copyright © 1996-2000 Microcosm Limited pour l’ensemble des
documentations et du système complet Copy Control. All rights are reserved.
Aucune partie de ce manuel ne peut être reproduite, transcrite ou traduite sous
quelques formes que ce soit (support mécanique, papier, magnétique,
électronique, chimique, optique ou autres) sans autorisation écrite de
Microcosm Limited. Toutes reproductions de toutes ou parties du document
vous exposent à des poursuites pénales.
Copy Control est une marque déposée de Microcosm Limited. MSDOS est une
marque déposée de Microsoft Corporation. IBM et PCDOS sont des marques
déposées de International Business Machines.
Copyright © 2001 Aplika pour la traduction de la version française.
Manuel imprimé le 02 mai, 2003.
LIMITES DE GARANTIE
Microcosm Limited ne garantit ni le contenu, ni les performances du programme
Copy Control ou du présent manuel. Aucune garantie implicite n’est donnée
quant à l’adéquation de Copy Control à un usage particulier.
Copy Control est vendu ‘tel quel’. Tout engagement pris par un vendeur ou à
travers une publicité ne saurait constituer une garantie. Etant donné la diversité
des environnements matériels, logiciels ou fonctionnels dans lesquels Copy
Control peut être employé, APLIKA ne peut garantir l’atteinte d’objectifs
particuliers. Il est recommandé de tester intensivement le logiciel avant tout
usage définitif. Dans tous les cas, la responsabilité de APLIKA se limite
uniquement au remboursement du produit. Il est de la responsabilité de
l’utilisateur de vérifier la conformité du produit concernant les changements et
les restrictions apportées sur les ordinateurs de ses clients et ses logiciels.
Microcosm Limited et APLIKA se réservent le droit de modifier le logiciel et/ou
son manuel à tout moment sans obligation de prévenir quiconque de ces
changements.
COPYCONTROL LICENCE AGREEMENT
Un droit de licence est nécessaire pour utiliser le logiciel CopyControl Microcosm Limited
est propriétaire de l’application et des droits connexes. Un droit de licence peut être
obtenue et validée en retournant le contrat de Licence de Microcosm Limited distribué
avec votre documentation (vous pouvez également le souscrire en Ligne).
A l’exception de licence additionnelle, la licence de base de CopyControl vous autorise à
utiliser le logiciel sur une seule machine. CopyControl protection disquette illimitée est
fournie avec 2 jetons; Un pour l’utilisation et un de secours. Si vous installé
CopyControl sur un réseau, notez que le nombre d’utilisateur réseau simultané est limité
un 1 poste.
La licence Copy Control vous autorise à protéger vos propres logiciels et produits aussi
longtemps que vous êtes en possession de la licence d’exploitation de CopyControl. Il
est interdit de délivrer à un tiers le service de protection de logiciels aussi bien à titre
gratuit que payant. Veuillez nous contacter dans ce cas.
La licence CopyControl vous autorise à distribuer aux utilisateurs finaux les logiciels
CopyControl nécessaire à la bonne exploitation de la protection ainsi qu’à la modification
des paramètres.
Table des matières
Introduction 1-1
Aperçu rapide................................................................................1-1
Pourquoi se Protéger des pirates ? ..............................................1-1
Comment fonctionne CopyControl................................................1-2
Caratéristiques Principales ...........................................................1-3
Configuration Requise ..................................................................1-4
Comment ce manuel est organisé ................................................1-4

Installation 2-1
Installation .....................................................................................2-1
Installation réseau .........................................................................2-2
Transférer CopyControl d’une machine vers une autre................2-2
Ajouter des exécutions..................................................................2-2
Désinstallation...............................................................................2-3

Prise en main rapide 3-1


Protéger un programme simple ....................................................3-1
Déplacer la Protection...................................................................3-2
Activer la Protection ......................................................................3-3
Modifier les paramètres de Protection ..........................................3-4

Préparation du Programme 4-1


Unlock-It, Try-It ou Disquette ........................................................4-1
Choisir une méthode de Protection...............................................4-2
La Méthode Shell ..........................................................................4-2
La Méthode Objet..........................................................................4-2
La Méthode Externe......................................................................4-3

Modifier votre code 5-1


Aperçu Rapide ..............................................................................5-1
Appeller La Routine CopyControl .................................................5-1
Vérifier le Code de Retour ............................................................5-2
Appeller une DLL CopyControl .....................................................5-2

Pose de la protection 6-1


Aperçu Rapide ..............................................................................6-1
Utiliser CCAdd...............................................................................6-1
Paramètres de Protection .............................................................6-2
Code Produit .........................................................................6-2
Type de Protection à Créer ...................................................6-3
Numéro de Série ...................................................................6-4
Nombre Maximum de Jetons ................................................6-4
Nombre Maximum d’Utilisateurs Réseau..............................6-4
Nombre de Master qu’un distributeur peut protéger .............6-4
Mode compatible NT .............................................................6-5
Unité Permise........................................................................6-5
Exécution depuis le Master? .................................................6-5
Détails Fichiers......................................................................6-5
Options Avancées .................................................................6-7

Guide du développeur CopyControl Table des matières • i


Messages ..............................................................................6-8
Configuration Autoloader.......................................................6-9
Disque de Destination ...........................................................6-9
Protection ..............................................................................6-9
Créer votre disque Master ..........................................................6-10
Unlock-It, Try-It et Disques Master......................................6-10
Disquettes Master ...............................................................6-10
Protéger un grand nombre de logiciel.........................................6-10

Déplacer la Protection 7-1


Aperçu Rapide ..............................................................................7-1
Installation d’une protection Unlock-It...........................................7-2
Déplacer une protection Unlock-It installée...........................7-2
Installer une Protection Try-It........................................................7-3
Déplacer une protection Disquette................................................7-3
Utiliser CCMOVE.EXE ..................................................................7-4
Utiliser CCMOVE.DLL...................................................................7-5
Restrictions ...................................................................................7-6

Changer les paramètres à distance. 8-1


Aperçu Rapide ..............................................................................8-1
CCRemote ....................................................................................8-1
Activer une copie Unlock-It Installée .....................................8-2
Créer un code de confirmation de désinstallation Unlock-It..8-3
Activer une protection disquette sous NT .............................8-3
Restaurer le nombre de jetons au Maximum ........................8-3
Nombre Maximum de Jetons ................................................8-3
Ajouter jetons au Master .......................................................8-4
Types d’unités permises........................................................8-4
Autoriser une ré-installation Try-It .........................................8-4
Changer la date de dernière utilisation .................................8-4
Nombre Maximum d’utilisateurs Réseau ..............................8-4
Nombre de Master qu’un Distributeur peut protéger.............8-4
Exécution depuis le Master ...................................................8-5
Nouveau Numéro de Série....................................................8-5
Message Sécurisé.................................................................8-5
Nom de Fichier ......................................................................8-5
Ajoute Exécutions..................................................................8-5
Initialiser Exécutions/Copie ...................................................8-6
Date limite..............................................................................8-6
Initialiser Nombre de jours Max.............................................8-6
Mot de Fonctions...................................................................8-6
Options avancées..................................................................8-6
Afficher le code de mise à jour..............................................8-7
CCCHANGE.EXE .........................................................................8-7
Obtenir les Informations ........................................................8-8
Avancées...............................................................................8-8
CCCHANGE.DLL ..........................................................................8-9

CCLook 9
CCLook .........................................................................................9-1

KeyCall 10
Aperçu Rapide ............................................................................10-1
KeyCall Internet...........................................................................10-1
KeyCall Téléphone......................................................................10-2
Paramétrage de KeyCall.............................................................10-2
Paramétrage KeyCall avec un système de paiement sécurisé ..10-4

Réseau 11-1

ii • Table des matières Guide du développeur CopyControl


Aperçu Rapide ............................................................................11-1
Réseaux compatible ...................................................................11-1
Utilisateurs Réseaux Simultanés ................................................11-2
Utiliser la Fonction 6 pour fermer une session utilisateur réseau 11-2
Date d’expiration et Nb jours Max...............................................11-4
Déplacer un droit d’utilisation réseau sur un monoposte non connecté
....................................................................................................11-4

Versions MSDOS 12-1


Aperçu Rapide ............................................................................12-1
Installation ...................................................................................12-1
CCADD .......................................................................................12-1
CCREMOTE................................................................................12-3
CCCHANGE................................................................................12-4
CCMOVE ....................................................................................12-5
CCLOOK .....................................................................................12-6

Structures CopyControl 13-1


Structure CCMB ..........................................................................13-1
Structures CCMove et CCChange..............................................13-5
CCRB Structure ..........................................................................13-6

Modules et Fonctions 14-1


Modules Objects .........................................................................14-1
Les Procédures ...........................................................................14-2
Les Fonctions..............................................................................14-5
Fonction 0............................................................................14-5
Fonction 1............................................................................14-5
Fonction 2............................................................................14-6
Fonction 3............................................................................14-6
Fonction 4............................................................................14-7
Fonction 5............................................................................14-7
Fonction 6............................................................................14-7

Compatibilité 15-1
Matériel .......................................................................................15-1
Systèmes d’exploitation ..............................................................15-1
Utilitaires .....................................................................................15-1
Sauvegardes .......................................................................15-1
Fichiers Supprimés..............................................................15-2
Compression de disque.......................................................15-2
Défragmenteur ....................................................................15-2
Systèmes de protection des crash ......................................15-2
Systèmes Antivirus..............................................................15-2
Problèmes connues.............................................................15-3
Applications.................................................................................15-3
CCAdd options avancées ...........................................................15-3
Emplacement de vérification ...............................................15-3
Vérification DFS ..................................................................15-4

L’ option Distributeur 16-1


Aperçu rapide..............................................................................16-1
Production d’un Master de distribution .......................................16-1
Module distributeur .....................................................................16-2
Activate .......................................................................................16-2

La méthode Externe 17-1


CCDUM: un exemple ..................................................................17-1

Guide du développeur CopyControl Table des matières • iii


Autoloaders 18-1
L’option Autoloader .....................................................................18-1
Utiliser l’option autoloader dans CCAdd .....................................18-2

Codes d’erreur 19-1


Aperçu Rapide ............................................................................19-1
Codes d’erreurs du Run-time CopyControl.................................19-1
Codes d’erreurs CControl ...........................................................19-6
Codes erreurs CCAdd.................................................................19-7
Codes d’erreurs CCMove ...........................................................19-9
Codes d’erreurs CLook .............................................................19-12
Codes d’erreurs CCRemote......................................................19-12
Codes d’erreurs CCChange......................................................19-12
Codes d’erreurs CCMAKE ........................................................19-13
Codes d’erreurs CCEXNET ......................................................19-14
Codes d’erreurs KeyCall ...........................................................19-15

Erreurs connues 20-1


Premièrement..............................................................................20-1
Codes Erreurs .............................................................................20-1
Erreurs CCMove..................................................................20-1
Erreurs Run-Time................................................................20-2
Contacter APLIKA .......................................................................20-3

Glossaire 21-1

Index 22-1

iv • Table des matières Guide du développeur CopyControl


Introduction

Aperçu rapide
CopyControl est le nom générique de la gamme de produits de protection et des
systèmes logiciels de protection que Microcosm & APLIKA distribuent. Cela
comporte:
• Unlock-It - pour protéger et contrôler les logiciels que vous distribuez
sur CDROM ou VIA Internet. Ce système implique le déblocage ou
l’activation des programmes protégés avec un code spécial. KeyCall
Internet et KeyCall Téléphone sont des applications connexes qui
permettent d’automatiser la procédure d’activation.
• Try-It - est conçu pour les versions de démonstration. Votre logiciel
peut être installé sans code d’activation sur n’importe quelle machine. Il
ne peut être installé qu’une seule fois sur une machine et la durée
maximale est de 30 jours (l’option TRY-IT vous permet un nombre
illimité de version d’évaluation)..
• Protection Disquette - C’est la méthode de protection la plus classique
idéale pour les applications distribuées sur disquette.
Microcosm & APLIKA distribuent également Dinkey Dongle - Il s’agit d’un
système de type Dongle connecté au port parallèle de l’ordinateur. Ce produit
est décrit ainsi que son fonctionnement dans un manuel spécifique.
L’ensemble des systèmes de protection Dinkey Dongle & Copy Control sont
conçus pour répondre à l’ensemble de vos besoins de protection.

Pourquoi se Protéger des pirates ?


Plusieurs raisons peuvent être à l’origine d’un besoin de protection contre la
copie pirate :

Vous avez investi beaucoup de temps, d’efforts et d’argent dans le


développement de votre produit et vous ne voulez pas perdre le revenu
potentiel que représente sa vente.

Vous souhaitez contrôler la distribution de vos logiciels à l’intérieur de votre


compagnie pour vous assurer que les divers départements utilisent les versions
correctes.

Votre ordinateur est utilisé par d’autres que vous et vous ne voulez pas qu’ils
puissent «emprunter» un logiciel enregistré à votre nom.

Vous voulez empêcher l’accès non autorisé à des données confidentielles.

Quelles que soient vos raisons, vous avez besoin d’un système offrant une
sécurité très solide qui vous permette de contrôler l’utilisation de vos logiciels.
Mais vous voulez aussi ne pas compliquer les techniques de production de vos
logiciels. Surtout, vous ne voulez pas décourager vos clients ni être inondés de
réclamations ou de demandes de support résultant de problèmes de

Introduction • 1-1
compatibilité. Le système de protection CopyControl a été conçu dans cet
objectif.
Les mécanismes de protection de CopyControl offre un très haut niveau de
sécurité. Beaucoup de produit de protection disponible se contente souvent
d’ajouter une clé dans la base de registre. Il est assez simple avec un debugger
de tracer le logiciel et de modifier la base de registre. CopyControl va beaucoup
plus loin, il utilise plusieurs systèmes de protection parmi lesquels des
algorithmes de cryptage, un système anti-debug et d’autres mécanismes
complexes.

Comment fonctionne CopyControl ?


CopyControl protège vos programmes en les enchaînant à un disque particulier.
Lorsqu’il est lancé, votre programme cherche le dit disque et refuse de
continuer s’il ne le trouve pas.

CopyControl effectue ce choix grâce à la mémorisation d’information unique sur


le disque. Ces informations sont contenues dans un fichier caché (appelé
JETON) placé dans un répertoire destiné à la protection. Ce fichier n’est pas
copiable un système d’empreinte le rattache à son emplacement physique.
Votre logiciel pour fonctionner doit alors récupérer les informations du ‘JETON’.
Des routines de protection SHELL peuvent être utilisées pour lier sans
programmation votre logiciel à la protection CopyControl. Dans certains cas
pour accroître la qualité et les fonctionnalités de la protection la méthode objet
avec l’intégration de module Objet ou l’appel à des DLLs CopyControl peut
s’avérer indispensable. C’est pour cela que le programme de protection
CopyControl comporte un grand nombre d’outils de protection. De cette manière
vos logiciels seront protégés efficacement et ne pourront plus être copiés.
L’option Unlock-It permet la création de copie inactive de votre logiciel qui ne
peut alors fonctionner qu’après une activation sur le disque dur de l’utilisateur
final. Ainsi le mode Unlock-It est conçu pour assurer la distribution de vos
logiciels par Internet, CD-ROM et n’importe quel media support existant.
L’option Try-It fonctionne de manière similaire à l’option Unlock-It mais ne
nécessite pas d’activation à l’installation. Vous ne pouvez pas contrôler le
nombre de copies que va installer votre client, mais il ne peut réaliser
l’installation qu’une seule fois par machine. Il vous est également possible de
définir le nombre d’exécutions ainsi que le nombre de jours maximum
d’utilisation de votre application. Une installation Try-It peut être convertie en
installation Unlock-It avec un simple code de mise à jour.
L’option Protection disquette verrouille l’exécution de vos logiciels en créant
un ‘JETON’ sur une disquette MASTER. Cette dernière autorise ou non le
fonctionnement de votre application selon les paramètres que vous avez
indiqués. L’application peut rechercher le ‘JETON’ directement sur la disquette
MASTER ou sur le disque dur de l’utilisateur. Un programme appelé CCMOVE
fournis avec CopyControl vous permet d’ailleurs d’effectuer le transfert de
‘JETON’ de la disquette vers le disque dur.
Quelle que soit la méthode utilisée une fois l’installation mise en place sur le
disque de l’utilisateur la protection est identique.
Avec l’option Unlock-It vous pouvez attribuer les droits d’utilisation à un client en
lui délivrant un code d’activation (KeyCall Téléphone et Internet) automatique la
distribution du code d’activation. Avec la protection disquette vous indiquez
vous-même sur le MASTER le nombre d’installation que vous attribuez à votre
client.
Avec CopyControl le client ne peut réaliser de copie de votre logiciel. De même
l’utilisation de système de sauvegarde ne permet pas la copie de vos applicatifs.
Le transfert des JETONS s’effectue par disquette Master ou par CODE (Unlock-
It). Pour restaurer une installation perdue vous devez disposer d’un droit
d’utilisation valide.

1-2 • Introduction
CopyControl est paramétrable, ainsi il est possible de modifier les paramètres
de votre protection à distance en envoyant à votre client un code de mise à jour
sécurisé qui permet la mise à jour des paramètres du JETON. Ces
changements peuvent être réalisés depuis une copie installée pour le mode
Unlock-It ou directement sur une disquette MASTER pour le mode protection
disquette.
L’utilisation d’une méthode ou d’une autre de protection CopyControl est
transparente pour l’utilisateur. L’installation du JETON peut être intégreée à vos
procédures d’installation et même entièrement automatisée.

Caractéristiques Principales
• Unlock-It et Try-It permettent la distribution de vos logiciels sur
n’importe quel media tel que Internet, CDROMs, Disquette, etc.
• Très grande qualité de protection (La Protection Disquette ne peut être
copiée par les copieurs Bit a Bit.).
• Puissant système anti-debug.
• Il n’est pas nécessaire de modifier la source.
• Transparence maximale pour l’utilisateur final.
• Maîtrise totale du nombre de licences distribuées.
• L’option RESEAU permet de gérer un nombre maximum d’utilisateurs
réseau.
• L’option KeyCall permet la distribution automatique des codes
d’activation Unlock-It via Internet ou par téléphone.
• L’option Distributeur autorise vos distributeurs à créer des disques
MASTER dans la limite des droits que vous leur attribuez.
• Le Logiciel Activate autorise un tiers à générer des codes d’activation
pour le mode Unlock-It (voir "Activate" page 2-2).
• Try-It permet d’effectuer facilement la distribution de vos versions de
démonstration. Le logiciel ne peut être installé qu’une seule fois sur une
machine donnée et la durée maximum de fonctionnement du JETON
est de 30 jours.
• Vous pouvez spécifier un temps de fonctionnement Maximum pour
votre applicatif ou de certaines de ses fonctions (Très utile si vous
ajoutez des fonctions de démonstration).
• Vous pouvez stopper l’utilisation d’un logiciel après un certain nombre
de jours d’installation. (Utile pour distribuer des versions de
démonstrations complètes limitées dans le temps).
• Possibilité de bloquer l’utilisation de votre logiciel après une date fixée à
la création du jeton. Cette date peut être modifiée à distance.
• Possibilité de modifier tous les paramètres de protection à distance en
fournissant à votre client un simple code de mise à jour.
• Protection spécifique de chaque partie de votre logiciel. La protection
peut être ajustée pour chacune des parties.
• Possibilité de contrôler des systèmes Autoloaders.
• Zone de données sécurisées cachées pour une protection maximum de
vos données et paramètres spécifiques de protection.
• Procédure de distribution en série intégrée.
• Faible coût de protection.
• Si votre produit est distribué sur plusieurs disquettes, seule une
disquette est nécessaire pour contenir la protection.

Introduction • 1-3
Configuration Requise
Les logiciels protégés par CopyControl peuvent fonctionner sur IBM PC sous
Windows (version 3.0 ou supérieure, 95, 98, Millénium, 2000 ou NT), MSDOS
(version 2.0 ou supérieure), PCDOS (version 2.0 ou supérieure), DRDOS,
Novell DOS, autres DOS et DOS Multi-tâches. Tout les réseaux compatibles
DOS (y compris Novell) sont supportés.
La mémoire requise pour le fonctionnement de CopyControl est extrêmement
faible. Seule la création d’un MASTER disquette sous Windows 3.x utilise
environ 32 K de mémoire conventionnelle RAM.
Vous devez bien sûr disposer d’un espace disque suffisant pour contenir le
programme CopyControl ainsi que les fichiers de paramètres de protection. Un
fichier de protection utilise environ 23K d’espace disque. Pour les protections
disquettes un supplément de 9 K est rajouté, CopyControl utilise cette espace
pour le codage des informations. Ainsi sur une disquette 1.44 seuls 32 K sont
nécessaires pour la protection. Si vous utilisez la méthode Shell la taille de votre
programme va être augmentée (la taille n’est pas fixe, elle dépend de votre
exécutable). Cela est d’autant plus vrai sur les programmes 32 bits protégés en
méthode Shell.
Si vous désirez laisser la possibilité à l’utilisateur final de transférer la
protection, vous devez rajouter une copie CCMove (71K à 120K). Si vous
souhaitez également inclure la possibilité de modifier les paramètres de
protection à distance vous devez inclure une copie de CCChange (54K - 84K).
CCMove et CCChange peuvent être sur des disquettes différentes que celle
utilisées pour la protection si cela est nécessaire.
ATTENTION :
CopyControl protection disquette ne
fonctionne pas avec des lecteurs LS 120.

Comment ce manuel est organisé ?


Il y a certaines étapes essentielles à effectuer dans l’ordre pour bien démarrer
et réaliser sa première protection CopyControl :
• Pour Installer CopyControl sur votre ordinateur. Voir le chapitre
“Installation”
• Effectuer la préparation de votre logiciel pour supporter la pose de la
protection CopyControl. Voir le chapitre “Préparation Programme ”.
• Ajouter la protection sur vos disquettes de distribution. Voir les
chapitres “Plate-forme développeur” et “Pose de la Protection”.
• Créer une routine d’installation automatique pour les utilisateurs finaux.
Intégrer les programmes de transfert de protection CCMOVE pour
déplacer la protection de la disquette vers le disque dur. (Activation du
jeton pour le mode Unlock-It avec CCCHANGE. Voir le chapitre
“Déplacer la Protection”.
Le chapître Prise en main rapide vous permet de protéger une application
simple, de réaliser l’installation et de modifier à distance les paramètres de
protections. Pour vous familiariser au mieux, avec CopyControl ; veuillez
commencer par lire ce chapitre avant la mise en oeuvre. Si vous connaissez
déjà le principe décrit dans un chapitre, passer au suivant.
Veuillez noter que la lecture des chapitres permettant la prise en main rapide ne
vous permet pas de saisir toutes les possibilités d’utilisation de CopyControl
aussi nous vous conseillons de lire attentivement toutes les rubriques du
présent manuel..

1-4 • Introduction
Vous devez d’abord lire le chapitre Préparation du Programme, Modifier votre
Code (si nécessaire), Pose de la Protection et Déplacer la Protection pour
comprendre complètement comment protéger votre application.
Régulièrement de nouvelles fonctionnalités peuvent être ajoutées à
CopyControl pour cette raison il vous est indispensable de vérifier que vous
disposez de la dernière version de la documentation. Quand vous recevez votre
mise à jour logiciel nous vous communiquons la dernière version de la
documentation. Si vous souhaiter mettre à jour la documentation en ligne vous
trouverez au format PDF la liste des différentes versions de ce manuel à
l’adresse http://www.aplika.fr.
Vous trouverez également sur notre site les mises à jour mineures ainsi que
certains patchs correctifs. Veuillez noter que vous ne pouvez télécharger les
mises à jour que pour la version que vous utilisez (Pour accéder aux versions
supérieures vous devez vous abonner au programme de mise à jour annuel ou
acquérir de façon ponctuelle une mise à jour de votre version CopyControl.

Introduction • 1-5
Installation

Installation
CopyControl est désormais fournis sur CD-Rom (depuis toujours CopyControl
est protégé par CopyControl aujourd’hui le mode de protection de CopyControl
est le mode Unlock-It de cette façon vous constaterez la facilité de la distribution
des codes d’activation via Internet grâce au module automatique KeyCall
Internet ainsi que KeyCall Téléphone).
Pour installer CopyControl vous devez disposer de :
• Windows 95, 98, 2000, Millénium ou NT.
• 5Mo d’espace disque.
(Pour une installation sous DOS ou Windows 3.11 veuillez lancer DOSSETUP
depuis le prompt DOS et suivez les instructions. Vous pouvez consulter le reste
du chapitre pour comprendre le processus d’installation).
Veuillez noter que CopyControl ne peut créer de disquette Master sous
Windows NT (2000).
Insérez le CD-Rom CopyControl dans votre lecteur et laissez démarrer l’autorun
pour commencer l’installation. Si votre ordinateur ne permet pas le démarrage
normal de l’autorun suivez les instructions ci-dessous :
• Insérez le CD CopyControl dans le lecteur de CD-Rom.
• Cliquez sur le bouton Démarrer et choisissez Exécuter…
• Quand la boîte de dialogue Exécuter apparaît tapez la ligne de
commande d:\setup si d correspond à la lettre désignant votre lecteur
de CD-Rom. Puis cliquez sur OK.
Le programme d’installation va copier les fichiers nécessaires au
fonctionnement de CopyControl sur votre disque dur. La protection est
également copiée sur le disque il n’y a plus qu’à réaliser son activation.
Après avoir cliqué sur Terminer le message. "Votre installation n’a pas été
activée: choisissez le menu Outils pour l’activer.". Cliquez sur OK et l’écran
principal de la Plate-Forme Développeur CopyControl apparaît. L’installation est
alors complète. Si vous désirez activer CopyControl plus tard vous pouvez sortir
du programme maintenant en sélectionnant Quitter. Pour poursuivre, ouvrez le
menu Outils puis Activation.
Vous disposez alors de plusieurs méthodes pour réaliser l’activation de votre
version CopyControl.. Si votre machine est connectée à Internet choisissez la
méthode KeyCall Internet pour activer votre logiciel. Si vous n’êtes pas
connecté à Internet vous pouvez utiliser KeyCall Téléphone pour obtenir votre
code d’activation par téléphone. Pour KeyCall Internet vous devez indiquer le
CustomerID (identifiant client) de 9 caractères fourni avec le CD-Rom. Pour
KeyCall Téléphone vous devez indiquer le CustomerID (identifiant client) de 18
caractères fourni avec le CD-Rom. Pour le reste de l’activation la procédure est
automatique et vous êtes entièrement guidé.
Si, pour une raison quelconque il vous est impossible d’utiliser KeyCall Internet
ou Téléphone vous pouvez nous contacter directement pour obtenir votre code
d’activation. Choisissez alors le mode activation Manuel et suivez les

Installation • 2-1
instructions. L’obtention du code par cette méthode est un peu plus longue.
CopyControl est maintenant prêt à l’emploi !

Installation réseau
A l’installation de CopyControl vous devez installer quelques DLL systèmes et
déclarer un fichier OCX en local. Si vous avez installé CopyControl sur une
machine (serveur par exemple) et que vous essayez d’utiliser CopyControl sur
d’autres stations il est fort possible que vous obteniez le message (une
opération non supportée à été tentée). Si vous avez des problèmes de ce type,
installez CopyControl sur chaque station où vous utilisez CopyControl ainsi les
fichiers nécessaires au bon fonctionnement seront présents en local (seule la
protection de CopyControl est alors recherchée de la station vers le serveur).

Transférer CopyControl d’une machine


vers une autre
Si vous avez déjà installé CopyControl avec succès (Activation réussie) sur une
machine et que vous désirez déplacer cette installation vers une autre machine
(ou simplement déplacer CopyControl d’un répertoire vers un autre). Vous
devez suivre attentivement les indications suivantes :
• Installez CopyControl sur la nouvelle machine ou dans le nouveau
répertoire en exécutant le Setup. Lorsque l’on vous demande d’activer
l’installation choisissez ‘Transférer à partir d’une autre installation’.
• Une boîte de dialogue avec les instructions « à suivre » apparaît. Vous
devez alors démarrer la Plate-forme développeur de l’installation
originale puis sélectionner le menu Outils | Transfert de Protection.
Entrez Le numéro de série temporaire délivré par la nouvelle
installation. Il permet de détruire l’installation originale et de calculer le
code d’activation de la nouvelle installation.
• Entrez le nouveau code d’activation dans la boîte de dialogue de la
nouvelle installation et cliquez sur OK. La nouvelle installation est alors
activée et prête à l’emploi.
• Pour terminer la désinstallation de l’installation originale utiliser le
Panneau de configuration puis le menu Ajout/suppression de
programmes.

Ajouter des exécutions


Le nombre de codes d’activation (“activations Unlock-It”) que vous pouvez
calculer avec CCRemote est limité. Le nombre de Master disquette
(“Incréments”) que vous pouvez créer est également limité (sauf si vous
disposez d’une version illimitée). Vous pouvez consulter le nombre de droits
restants en choisissant depuis la plate-forme développeur le menu Outils |
Ajout d’exécutions. Vous pouvez aussi le savoir en utilisant CCLook.
Lors de votre première commande il vous faut préciser le nombre d’activations
et d’incréments dont vous avez besoin. A la première installation de
CopyControl tous les incréments et les activations ne sont pas
systématiquement transférés sur l’installation (c’est à dire sur le disque de votre
machine). Quand vous avez utilisé le nombre d’incréments et d’activations
disponibles sur votre disque vous pouvez charger les droits d’utilisations
restants (qui n’ont pas déjà été utilisés). Pour cela sélectionnez le menu Outils |
Ajout d’exécutions et chargez la suite de vos incréments et activations grâce à

2-2 • Installation
KeyCall Internet ou téléphone. Si vous avez besoin de plus d’incréments ou
d’activations contactez-nous pour l’acquisition des droits supplémentaires.

Désinstallation
Vous ne devez désinstaller CopyControl avant d’avoir transféré la protection sur
une autre machine. Si vous désinstallez CopyControl sans avoir transféré la
protection vous détruisez de façon définitive la protection CopyControl. Vous ne
pourrez plus utiliser CopyControl.
Pour Désinstaller CopyControl de votre ordinateur :
• Cliquez sur Démarrer, sélectionnez Paramètres, et cliquez sur
panneau de configuration.
• Ouvrez le menu Ajout/suppression de Programmes.
• Dans la liste des programmes qui apparaît sélectionnez CopyControl
puis cliquez sur Ajouter/Supprimer.

Installation • 2-3
Prise en main rapide

Protéger un programme simple


Cette rubrique va vous guider dans la protection d’un programme simple. Vous
pouvez choisir n’importe quel logiciel, pour faciliter l’exemple vous pouvez
choisir CALC.EXE (calculette Windows). Le fichier Exe est normalement situé
dans le répertoire Windows (pour Windows 95/98/Millénium) ou dans
WinNT\System32 (pour Windows NT/2000).
Pour protéger ce programme vous devez utiliser le programme CCAdd. Depuis
la plate-forme développeur sélectionnez Fichier | Ouvrir puis dans le répertoire
d’installation de CopyControl rechercher le fichier CALC.CCP.. Vous devez
avoir l’écran suivant :

Plate-Forme développeurs CopyControl avec le fichier calc.ccp ouvert

En ouvrant le fichier calc.ccp tous les paramètres de protection sont initialisés.


La protection par défaut pour cet exemple est de type Unlock-It, mais si vous
désirez tester le mode de protection disquette ou Try-It il vous est possible de
modifier le type de protection. Pour le mode de protection disquette il faut
choisir Disquette Master puis spécifier un numéro de série.
Lors de la pose de la protection sur le fichier CALC, ce dernier est modifié aussi
nous vous conseillons d’en effectuer une copie au préalable. Vous pouvez
protéger CALC depuis n’importe quel répertoire. Pour plus de simplicité nous
vous conseillons de réaliser cette opération sur disquette.
Vous êtes désormais prêt à protéger le logiciel CALC. Cliquez alors sur
Protection. CCAdd va accéder à la disquette ou au répertoire pour protéger
l’exécutable pendant ce temps vous êtes informé de la progression de
l’opération. Un message vous indiquant le succès de la pose de la protection
apparaît.
CALC est désormais protégé – Pour le vérifier c’est simple ! Copiez le fichier
exécutable que vous venez de protéger dans un autre répertoire ou de la
disquette vers le disque dur. (Vous pouvez le recopier n’importe où mais

Prise en main rapide • 3-1


faites attention à ne pas écraser le fichier original). Essayez ensuite de faire
fonctionner le fichier que vous venez de copier. Un message vous indiquant que
le logiciel ne peut fonctionner tant que la protection n’est pas présente s’affiche.
La prochaine étape est de mettre en place la protection pour autoriser
l’exécution de notre programme protégé.

Déplacer la Protection
Démarrer le programme CCMove. Il est situé dans le répertoire d’installation de
CopyControl. L’écran principal de CCMOVE apparaît. L’utilisation de ce
programme est la seule méthode pour transférer la protection d’un
emplacement vers un autre. Il est utilisé de la même façon pour le mode
Unlock-It, Try-It et Protection disquette. L’écran principal de CCMove :

Ecran principal de CCMove.

Vous devez simplement indiquer le chemin source de la protection dans


Chemin Source ici il faut mettre a: puis dans Chemin Destination il faut
indiquer le chemin complet vers lequel vous désirez installer la protection ( Le
chemin doit être complet depuis la racine vers le répertoire de destination;
Attention vous ne pouvez pas utiliser la syntaxe UNC (ex: \\serveur\cdrive\…)).
Cliquez maintenant sur le bouton Déplacer Protection. CCMove accède alors
à la disquette, transfert la protection puis vous indique à l’écran dès la fin du
transfert que la protection à bien été déplacée avec succès. Choisissez alors
Fichier | Quitter pour sortir de CCMove.
Vous pouvez utiliser CCLook pour visualiser l’état de la protection sur la
disquette et sur le disque dur. Pour cela démarrez CCLook puis indiquez le
chemin dans lequel il doit effectuer sa recherche et cliquez sur OK. CCLook
vous affiche alors le détail de la protection se situant sur la disquette si vous
avez indiqué a: comme étant le chemin de recherche. Si vous utilisez la
méthode de protection disquette vous pourrez même visualiser le nombre de
jetons qui ont été transférés et ceux restants sur la disquette. Vous pouvez
également faire une nouvelle recherche dans le répertoire où vous avez
préalablement transféré la protection.

3-2 • Prise en main rapide


CCLook Montrant le détail d’une protection CopyControl

Maintenant vous pouvez démarrer le fichier CALC.exe protégé. Si la protection


a réussi avec succès un message vous indique que tout se déroule bien puis le
logiciel s’exécute correctement. Félicitation vous venez de protéger votre
premier logiciel ! Si vous utilisez uniquement le mode de protection disquette
vous pouvez passer la prochaine rubrique Activer la Protection. Si vous
utilisez le mode Try-It vous pouvez tenter de réinstaller une deuxième fois la
protection sur la même machine pour vérifier le bon fonctionnement de l’option
Try-It.
Si vous utilisez le mode de protection Unlock-It vous obtenez le message
"Erreur de protection n° 213.Le produit n’a pas été activé". Vous devez alors
activer la protection pour que le programme fonctionne correctement. La
rubrique suivante vous explique comment réaliser cette manipulation.

Activer la Protection
Pour modifier les paramètres des Protections CopyControl vous devez utiliser
deux logiciels CCRemote et CCChange. L’activation d’une protection revient en
fait à réaliser une modification de la protection. La seule différence est que l’on
vous décompte un droit d’activation à chaque fois que vous réalisez une
opération d’activation avec CCRemote.
Démarrer CCRemote depuis la Plate-Forme Développeur. L’écran principal de
CCRemote apparaît. Vous devez d’abord indiquer le code produit puis le
numéro de série, la version et le numéro de mise à jour pour identifier la
protection que vous désirez mettre à jour. Si vous ne connaissez pas ces
informations vous pouvez les retrouver grâce à CCLook ou même avec
CCChange. (CCChange est situé dans le répertoire d’installation de
CopyControl). Au démarrage de CCChange vous devez indiquer le chemin
dans lequel se situe la protection (dans notre exemple le chemin est c:\calc).
Cliquez sur Obtenir Informations pour afficher le code produit, le numéro de
version, le numéro de série ainsi que le numéro de mise à jour pour cette
protection. Veuillez alors saisir ces informations dans les champs correspondant
de CCRemote, puis dans la rubrique Unlock-It cochez l’option Active une copie
Unlock-It installée.
Vous devez maintenant générer le code de mise à jour. Pour cela cliquez sur le
bouton Afficher le code de mise à jour. Le code de mise à jour apparaît alors
et vous pouvez le copier coller dans CCChange. Cliquez alors sur Mettre à

Prise en main rapide • 3-3


jour. Un message vous indiquant que la mise à jour à eut lieu avec succès
apparaît (ce message contient un code de confirmation). Une fois ce message
obtenu la protection de CALC est activée correctement pour le vérifier il vous
suffit de démarrer le programme protégé CALC.
Note – Il vous est possible d’activer une protection Try-It installée. La protection
Try-It sera alors convertie en protection Unlock-It installée et activée.
Cependant en fournissant un code de mise à jour avec CCRemote et
CCChange il vous est également possible de ré-installer une protection Try-It.

Modifier les paramètres de Protection


Initialement le programme a été protégé avec une limite de 5 exécutions. Pour
trouver le nombre d’exécutions restantes il vous suffit de lancer CCLook. Le
nombre d’exécutions restantes vous indique le nombre de fois ou vous pourrez
démarrer normalement le logiciel protégé. Pour tester le bon fonctionnement
vous pouvez démarrer successivement le logiciel protégé jusqu’à atteindre le
nombre d’exécutions restantes égales à 0 (vous obtenez alors le message
d’erreur protection expirée Erreur n° 024).
Vous venez d’exécuter 5 fois correctement le programme CALC et il ne peut
plus fonctionner. La valeur du champ exécutions restantes est à 0. Aussi vous
devez rajouter de nouvelles exécutions si vous souhaitez pouvoir réutiliser
l’application. Dans ce cas il vous suffit d’utiliser CCChange et CCRemote pour
modifier les paramètres de la protection.
Démarrer CCRemote depuis la Plate-Forme Développeur puis indiquez le code
produit, le numéro de série, le numéro de mise à jour et le numéro de version
de la protection. Vous pouvez retrouver ces informations grâce à CCLook ou
avec CCChange en cliquant sur Obtenir Informations. Attention, veillez à bien
spécifier le répertoire dans lequel est située la protection.
Dans CCChange indiquez dans le champ Chemin de la Protection c:\calc, si
vous utilisez la méthode Unlock-It ou a: si vous utilisez la méthode de
protection disquette. Notez qu’il n’est pas possible de modifier une protection de
type disquette à partir d’une protection installée (sur disque dur) mais
uniquement à partir de la disquette Master; Pour la méthode Unlock-It la
modification des paramètres ne peut avoir lieu que dans le répertoire ou une
protection Unlock-It est installée.
Une fois que vous avez saisi les informations nécessaires dans CCRemote, le
reste de l’écran devient actif et vous pouvez alors modifier les paramètres. Dans
la rubrique Détails fichiers, en bas de l’écran de CCRemote, entrez 5 en
dessous de la case Ajoute Exécutions. Cliquez maintenant sur Afficher le code
de mise à jour. CCRemote vous indique alors le résumé des modifications
effectuées ainsi que le code de mise à jour à fournir au client (à saisir dans
CCChange). Copiez/Collez le code de mise à jour dans CCCange puis cliquez
sur le bouton Mettre à jour. CCChange affiche le code de confirmation et vous
indique que la mise à jour s’est déroulée avec succès.
CCChange a rajouté 5 exécutions dans le champ exécutions restantes de la
protection. Vous pouvez alors refaire fonctionner CALC 5 fois avant sa nouvelle
expiration. Il en est de même pour la totalité des paramètres de protection. Ceci
vous permet un grand nombre de combinaisons avec CopyControl pour
personnaliser au maximum la protection de votre logiciel.
Dans ce chapitre vous avez appris à utiliser CCAdd, CCMove, CCLook,
CCRemote et CCChange. Pour comprendre dans le détail chacun de ses outils
CopyControl vous pouvez vous reporter au chapitre détaillant les
fonctionnalités de ces programmes.

3-4 • Prise en main rapide


Préparation du
Programme

Unlock-It, Try-It ou Disquette


CopyControl comporte trois méthodes de protection différentes : Unlock-It, Try-It
et La Protection Disquette. Vous devez d’abord effectuer le choix de la méthode
que vous devez utiliser.
Si vous désirez contrôler le nombre de copies distribuées de votre logiciel vous
devez utiliser Unlock-It ou la Protection Disquette. Si vous utilisez un support de
distribution autre que la disquette nous vous conseillons l’utilisation de la
méthode Unlock-It. Si vous utilisez la disquette comme support de distribution
vous pouvez utiliser la protection Disquette ou la méthode Unlock-It
Si vous ne désirez pas contrôler le nombre de copies distribuées mais autoriser
une seule installation limitée dans le temps par machine vous devez utiliser la
méthode TRY-IT. Elle est idéale pour distribuer vos versions complètes en
évaluation et ceux en toute sécurité.
Unlock-It est un système qui se base sur le principe d’activation de la
protection. Votre programme est distribué inactif et lors de l’installation de ce
dernier vous devez activer votre protection grâce à un code d’activation. Le gros
avantage est que vous pouvez distribuer votre logiciel sur n’importe quel
support (Internet, CD-Rom, disquette, Email etc….) de plus vous pouvez très
facilement sérialisé la production de votre logiciel (En effet lorsque la protection
est inactive elle est dupliquable). La seule contrainte de cette méthode est la
distribution du Code d’activation lors de l’installation chez le client du logiciel..
Pour pallier cette contrainte vous disposez de plusieurs méthode d’activation,
KeyCall Internet pour une activation automatique via Internet ou KeyCall
téléphone pour activation automatique par Téléphone.
Try-It est une méthode de protection similaire au mode Unlock-It. Cependant
cette méthode ne nécessite pas de code d’activation à l’installation. Une
protection Try-It peut être convertie en protection Unlock-It. Par exemple vous
pouvez utiliser la méthode Try-It pour délivrer une version d’évaluation 30 jours
à votre client puis passer ce délai convertir la version de démonstration en
version complète en convertissant la protection Try-It en protection Unlock-It
activé.
Note : Il est possible d’ajouter une protection Try-It uniquement sur des
applications 32 bits et l’installation de la protection Try-It ne peut être effectuée
qu’avec le programme CCMOVE 32 bits.
Protection disquette permet tout d’abord de verrouiller votre logiciel et de
fournir une protection sur une disquette Master. Pour installer votre logiciel sur
le disque dur de la machine de votre client il suffit de transférer la protection de
la disquette vers le disque dur avec le programme CCMOVE.
Une fois la protection installée sur le disque dur, et ce, quelle que soit la
méthode de protection utilisée les caractéristiques de la protection sont
identiques.

Préparation du Programme • 4-1


Choisir une méthode de Protection
Il existe trois méthodes de pose de protection pour lier CopyControl a votre
logiciel.
1. La Méthode Shell est la plus facile et ne nécessite aucune modification de
votre code source.
2. La Méthode Objet nécessite de Linker un module OBJ à votre programme
ou d’appeler une DLL CopyControl ainsi que quelques lignes de code pour
vérifier l’état de la protection.
3. La Méthode de Externe consiste à protéger un programme factice dont le
démarrage est impératif pour exécuter votre logiciel.
La prochaine étape de la préparation doit vous permettre de déterminer laquelle
de ces trois méthodes vous devez choisir.

La Méthode Shell
CopyControl peut protéger directement une grande partie des logiciels en
appliquant lui-même une protection Shell. La pose d’une protection Shell est
impossible dans les cas suivants :
• Les programmes qui ne sont pas .EXE ou .COM.
• Les DLL Windows.
• Quelques programmes Windows 16-bit (dont le format n’est pas
standard aux exécutables Windows classiques).
• Les logiciels 16-bit Visual Basic (VB4 ou antérieur).
• Logiciels utilisant DOS Extenders.
• Fichiers DOS Overlay.
• Quelques applications DOS contenant des overlays interne.
• Des programmes Patchés après compilation.
• Quelques programmes DOS chaînés.
• Quelques programmes compilés avec l’option vérification de Virus.
Si vous n’êtes pas sûr que la méthode Shell peut fonctionner pour votre logiciel,
Il suffit de faire une copie de votre logiciel et d’essayer pour voir !
Si cette méthode peut être utilisée, vous n’avez pas a effectuer de préparation
de votre logiciel. Il vous suffit simplement de protéger votre application avec
CCADD. (Voir "Pose de la protection" page 6-1).
Vous allez certainement devoir modifier votre programme d’installation pour
appeler CCMove et transférer automatiquement la protection sur le disque dur
de l’utilisateur. Voir "Déplacer la Protection" page 7-1. Si vous utilisez la
méthode Unlock-It vous devez également après CCMove lancer CCChange
pour activer la protection (voir "CCChange" page 8-7).
Si vous désirez modifier les paramètres de la protection à distance vous devez
inclure CCChange dans votre logiciel. Vous pouvez également fournir CCLook il
pourra se montrer utile en cas de plantage.

La Méthode Objet
Certaines fois il est nécessaire ou plus efficace de gérer vous-même l’appel à la
protection de CopyControl. Pour cela vous devez intégrer une procédure de test
dans votre code. Vous devez utiliser cette méthode si la méthode Shell est
impossible à utiliser. De préférence vous devez utiliser cette méthode car elle
offre un plus grand nombre de possibilités. Vous pouvez ainsi contrôler très

4-2 • Préparation du Programme


précisément le fonctionnement de votre protection, gérer les actions à tenir
suivant l’état de la protection et personnaliser les messages et les interfaces liés
à la protection.
Trois étapes sont nécessaires pour réaliser ce type de protection :
• Modifier votre code pour qu’il fasse appel à une routine CopyControl
vérifiant l’état de la protection et gérer les actions à réaliser suivant le
résultat. (Voir "Modifier votre code" page 5-1).
• Lier le module objet à votre applicatif ou déclarer l’appel à la DLL
CopyControl.
• Démarrer CCAdd pour poser la protection à votre logiciel (Voir "Pose
de la protection" page 6-1). Si vous utiliser une DLL CopyControl veiller
bien à poser la protection sur la DLL et pas sur directement sur votre
logiciel.
• Vous allez certainement devoir modifier votre programme d’installation
pour appeler CCMove et transférer automatiquement la protection sur le
disque dur de l’utilisateur. Voir "Déplacer la Protection" page 7-1. Si
vous utilisez la méthode Unlock-It vous devez également après
CCMove lancer CCChange pour activer la protection (voir "CCChange"
page 8-7).
Si vous désirez modifier les paramètres de la protection à distance vous devez
inclure CCChange dans votre logiciel. Vous pouvez également fournir CCLook,
il pourra se montrer utile en cas de plantage.
Il est possible d’utiliser la méthode Shell et la méthode Objet pour protéger le
même programme. Dans ce cas il vous faut appliquer en premier la méthode
Objet. Vous devez ensuite utiliser le mode protection "Mise à jour" (Voir "Type
de Protection à Créer" on page 6-3) pour ajouter la méthode de Protection
Shell, assurez vous de bien utiliser le même numéro de série et le même code
Produit.

La Méthode Externe
Si vous désirez protéger un programme qui n’est ni pas un .EXE ou un .COM
ou que vous ne pouvez pas appliquer la méthode Objet vous pouvez alors en
dernier recours faire appel à cette méthode. Les programmes 32-bit utilisant
DOS extenders doivent faire appel à cette méthode. Vous pouvez bien sûr
appliquer cette méthode pour tous les exécutables Windows mais il est
préférable dans ce cas d’utiliser la méthode Objet plus efficace et plus facile à
mettre en oeuvre
Les bases de données et les tableurs incluant un langage de programmation
évolué ne peuvent généralement pas créer de fichier .EXE ou .COM. La
solution pour protéger ce type d’application qui ne supporte pas la méthode
Objet il faut créer un programme externe simple de type .EXE ou .COM qui est
lancé au démarrage de votre programme. Si le démarrage du fichier EXE ou
COM se déroule correctement (protection présente et valide) vous autorisez
alors le fonctionnement du reste de votre logiciel. Vous pouvez par exemple
passer la date du jour en argument dans la ligne de commande de votre fichier
EXE ou COM et vérifier la date en l’inscrivant depuis votre EXE vers un fichier
crypté. Vous pourrez alors lire cette date depuis n’importe quel endroit dans
votre programme pour autoriser ou non l’utilisation de ce dernier. Si l’EXE ou le
COM échoue dans son test le fichier n’est pas créé et la valeur est incorrecte.
Votre programme ne peut alors plus fonctionner.
Un exemple de programme factice DOS (CCDUM.EXE) est fournis dans
CopyControl. Voir "La méthode Externe" page 17-1 cette rubrique explique
dans le détail comment utiliser cette méthode.
Pour appliquer cette méthode vous devez respecter trois étapes :
• Créer un programme factice de type .EXE ou .COM (vous pourrez le
protéger en méthode Shell ou Objet).

Préparation du Programme • 4-3


• Ajouter le code nécessaire dans votre application pour démarrer
l’exécution du programme factice et tester le résultat.
• Démarrer CCAdd pour protéger le programme (Voir "Pose de la
protection" page 6-1)

• Vous allez certainement devoir modifier votre programme d’installation


pour appeler CCMove et transférer automatiquement la protection sur le
disque dur de l’utilisateur. Voir "Déplacer la Protection" page 7-1. Si
vous utilisez la méthode Unlock-It vous devez également après
CCMove lancer CCChange pour activer la protection (voir "CCChange"
page 8-7).
Si vous désirez modifier les paramètres de la protection à distance vous devez
inclure CCChange dans votre logiciel. Vous pouvez également fournir CCLook il
pourra se montrer utile en cas de plantage..

4-4 • Préparation du Programme


Modifier votre code

Aperçu Rapide
Si vous utilisez la méthode de protection objet vous devez effectuer quelques
modifications mineures dans votre code pour :
• Appeler la fonction de vérification de la protection CopyControl.
• Vérifier le résultat de ce test pour faire la différence entre protection
valide et invalide.
• La fonction de vérification de la protection de CopyControl est inclue
dans les différents modules Obj ou dans les DLL CopyControl. Chaque
fonction que vous devez utiliser ainsi que le choix des différents
modules disponibles se fera en fonction des paramètres de l’application
qu vous devez protéger. Suivant que vous soyez sous DOS, sous
Windows en mode 16-bit ou en mode 32-bit. Voir "Modules et
Fonctions" page 14-1 pour plus de détails. Vous disposez de plusieurs
exemples d’intégrations fonctionnels dans le répertoire SAMPLE situé
dans la racine du répertoire d’installation de CopyControl.

Appeler La Routine CopyControl


Les informations sont échangées entre votre programme et la routine de test de
la protection via la structure appelée CCMB (CopyControl Memory Block). Cette
structure doit être déclaré dans votre programme, certains champs peuvent être
initialisés et leurs adresses doivent être passées dans l’appel de la fonction de
vérification de la protection. La fonction de test va vérifier si la protection est
présente et valide. De plus elle va vérifier le contenu de la structure CCMB.
Cette structure CCMB est décrite dans la rubrique "Structures CopyControl"
page 13-1. Votre programme peut alors vérifier les paramètres des champs du
CCMB et les interpréter.
Vous devez initialiser les 4 premiers octets du CCMB à 'C', 'C', 'M', 'B'.
Si le champ fonction est placé à 0, alors la protection est testée, un droit
d’exécution est décompté et un utilisateur réseau est activé. Cet appel vérifie
aussi si que le nombre limite d’utilisateurs réseau n’est pas dépassé.
Positionner le champ fonction à 2 revients à vérifier la protection sans mettre à
jour les paramètres.
Si vous désirez vérifier la protection plus d’une fois nous vous recommandons
d’utiliser la fonction à 0 puis à 2 pour les autres appels. Chaque appel à la
fonction à 0 décompte les droits d’exécution et démarre un utilisateur réseau.
CopyControl clôture automatiquement un utilisateur réseau lorsque ce dernier
ferme le logiciel. Dans quelques rares cas il peut être nécessaire de forcer la
fermeture d’un utilisateur réseau. Pour cela utiliser la fonction à 6. Ceci ne
vérifie pas la protection mais clôture l’utilisateur réseau.
Pour consulter la liste détaillée des fonctions ainsi que leur description, voir "Les
Fonctions" page 14-5.
Par défaut CopyControl recherche la protection dans le répertoire d’exécution
de votre logiciel. Si vous désirez forcer la vérification dans un autre répertoire

Modifier votre code • 5-1


vous devez positionner le champ dir (inclure le chemin complet ainsi que le
nom de l’unité). Vous devez également positionner le champ flags1. Cette
valeur doit normalement être à 0. Pour plus de détails sur le champ dir et flag1
consulter la rubrique "Structure CCMB" page 13-1.
Il s’agit là des seuls champs qu’il est nécessaire d’initialiser pour vérifier la
protection. Vous pouvez placer le reste à 0.

Vérifier le Code de Retour


Vous devez vérifier le code de retour de la fonction de test de la protection.
Cette valeur est retournée par la fonction de test et selon le résultat vous devez
décider de l’action à suivre. Un code de retour différent de 0 indique que la
protection est invalide, il est recommandé dans ce cas d’afficher le code
d’erreur (code de retour ) dans une boîte de dialogue puis de fermer votre
logiciel.
Vous pouvez également tester les champs du CCMB pour vérifier leurs valeurs.
Notez que cela n’est pas indispensable mais que la protection s’en trouve
renforcée. Il est également recommandé d’effectuer ces tests à différents
endroits de votre programme, cela rend la tâche beaucoup plus dur pour les
pirates.
Par exemple, le code de retour fourni par la fonction de vérification est
mémorisé dans le champ r_code du CCMB. Cela vous permet de tester la
valeur du code de retour n’importe où. Il est également intéressant de vérifier le
champ dos_time. En effet ce champ doit être différent à chaque fois que vous
le testez (s’il ne change pas un pirate tente peut être une intrusion) . Dans ce
cas fermez votre logiciel.
La syntaxe de la ligne de commande permettant l’appel de la fonction de
vérification change suivant les langages de développement que vous utilisez.
Des exemples complets sont fournis dans le répertoire SAMPLES.
Note – Une fois le code modifié, appeler la fonction de vérification de la
protection. Si vous récupérez le code de retour -71, l’intégration de la fonction
de vérification est correcte, il ne reste plus qu’à protéger le logiciel. Pour cela,
démarrez CCAdd, voir "Pose de la protection" page 6-1. Une liste complète des
valeurs possibles pour le code de retour est disponible voir "Codes d’erreurs du
Run-time CopyControl" page 19-1.

Appeler une DLL CopyControl


Vous disposez de deux DLL à appeler pour votre programme: CC.DLL (pour les
programmes 16-bit) et CC32.DLL (pour les programmes 32-bit). Si vous
appelez une de ces DLL pour protéger votre programme, notez bien qu’il faut
poser la protection sur la DLL avec CCADD et non directement sur votre
logiciel. Votre programme dépend en fait du bon fonctionnement de la DLL.
Vous devez utiliser la méthode Objet pour protéger la DLL CopyControl.
Dans quelques rares cas votre langage de programmation ne permet pas
l’allocation mémoire pour la structure CCMB. Vous devez alors appeler une
routine CopyControl spéciale appelée CCDLL1 pour les programmes 16-bit et
appelée CC321 pour les programmes 32-bit. Voir "CCDLL1" page 14-3 pour
plus d’informations.
Pour éviter la confusion entre les DLLs si vous protégez plusieurs produits nous
vous conseillons fortement de renommer la DLL pour chaque produit protégé.
(Cela est difficile si vous utilisé du code 32 Bit Microsoft Visual C++ et dans ce
cas il n’est pas conseillé de renommer les DLLs. Veuillez consulter l’exemple
situé dans le répertoire SAMPLES\C pour plus d’informations).

5-2 • Modifier votre code


Vous pouvez également supprimer le souci de confusion en n’installant pas la
DLL dans le répertoire Windows/System mais en l’installant dans le répertoire
du logiciel.

Modifier votre code • 5-3


Pose de la protection

Aperçu Rapide
CCAdd ajoute la protection à vos applications. Il peut poser la protection de
différentes manières suivant les paramètres qui lui sont indiqués. Avant toute
chose vous devez d’abord saisir un code produit. Une fois cette opération
effectuée vous avez accès aux autres champs. La liste des champs disponibles
dépend du type de protection que vous avez sélectionné ou des options
CopyControl dont vous disposez.
Vous pouvez démarrer CCAdd depuis la Plate-Forme développeur ou en
sélectionnant CCAdd à l’ouverture d’un fichier .ccp. Si vous êtes sous DOS
vous devez démarrer la version DOS de CCADD. Voir "CCADD" page 12-1
pour plus de détails.
Les informations nécessaires pour commencer à protéger une application sont :
• Le Code Produit, code qui permet de distinguer chaque produit protégé.
• Le type de protection que vous souhaitez appliquer.
• Le numéro de série (protection disquette uniquement).
• La liste des programmes que vous désirez protéger.
Vous pouvez également fixer un grand nombre d’autres paramètres qui
influeront sur le fonctionnement du logiciel.
CCAdd nécessite deux choses importantes pour poser la protection:
• Créer la protection sur le lecteur de destination.
• Modifier le programme que vous souhaitez protéger.
Veuillez noter que vous ne pouvez pas poser une protection sur un fichier
compressé. Vous devez décompresser le fichier avant de poser la protection.

Utiliser CCAdd
L’écran de CCAdd permet de visualiser l’ensemble des paramètres de
protection. Vous pouvez mémoriser ces derniers dans un fichier .CCP. Pour
cela choisir Fichier/Nouveau pour sauvegarder un nouveau fichier de
paramètres et Fichier/Ouvrir pour modifier ou rééditer les paramètres.

Pose de la protection • 6-1


Ecran CCADD dans la Plate-Forme Développeur

Quand vos paramètres de protection sont correctement chargés vous pouvez


cliquer sur le bouton “PROTECTION” pour poser la protection.
Si vous indiquez ‘Master Disquette’ ou ‘Master de Distribution’, CCAdd va en
premier lieu vérifier si la disquette ne contient pas des secteurs défectueux. Si
trop d’erreurs secteurs sont détectées CCAdd interrompt le traitement en cours.
CCAdd peut marquer seul quelques secteurs défectueux. Par conséquent si la
disquette est défectueuse la protection ne sera pas posée. Vous devez alors
reformater la disquette avant de retenter de poser la protection. Vous devez
effectuer un formatage complet sous Windows ou utiliser la commande format
sous DOS avec les options /u et /c. La vérification n’a pas lieu si vous posez
une protection Unlock-It ou Try-It ou si vous réalisez un Upgrade ou un Global
Upgrade.
Si vous protégez une disquette en utilisant la version incrémentale de
CopyControl vous ne pouvez pas récupérer l’incrément (droit de pose de
protection) utilisé sur une disquette défectueuse. Vous ne pouvez réutiliser
l’incrément pour poser une nouvelle protection en utilisant le mode Upgrade ou
Global Upgrade. Ces modes de protection sont décrits un peu plus loin. Ajouter
une protection en mode Upgrade ou Global upgrade ne décompte pas
d’incréments.
Avant d’expédier votre produit, assurez vous par un test que vous avez utilisé la
bonne méthode de protection et que le Master de protection est valide.

Paramètres de Protection
Pour votre confort, CopyControl peut mémoriser tous les détails de vos
différentes protections dans des fichiers .ccp séparés.
Pour sauvegarder les paramètres choisissez Fichier/Sauvegarder dans la bar
de menu en haut a gauche.
Vous allez maintenant trouver la description détaillée de chaque paramètre qu’il
est possible de spécifier dans CCAdd:

Code Produit
Doit être spécifié pour chaque type de protection.

6-2 • Pose de la protection


Un Code Produit doit être impérativement spécifié avant de rentrer d’autres
paramètres.
Vous devez vous assurer que chacun de vos codes produits que vous spécifiéz
sont bien différents. Entrez une chaîne de 8 caractères et nombres uniques ou
utilisés les codes $#&@!%()-{}`_' (les espaces ne sont pas autorisés). Le Code
Produit CCONTROL est réservé pour CopyControl.

Type de Protection à Créer


Doit être spécifié pour chaque type de protection..

CCAdd peut créer différents types de protection:


Unlock-It Une méthode de protection basée sur le principe
d’activation.
Try-It Une méthode de protection pour vos programmes
de démonstration.
Upgrade Verrouille de nouveau logiciel sur une protection
déjà existante. (Unlock-It, Try-It ou Floppy)
Global upgrade Verrouille de nouveaux logiciels à une protection
existante indifféremment du numéro de série client.
Disquette Création d’un Master de protection disquette et
verrouillage de l’application.
Distribution Création d’un Master de distribution. Peut être
utilisée pour créer d’autres Master Disquette.
Voir "Unlock-It, Try-It ou Disquette" page 4-1 pour plus d’informations sur la
différence entre Unlock-It, Try-It et Protection Disquette.
Si vous spécifiez le mode de protection Disquette, Unlock-It ou Try-It
CopyControl a besoin de deux choses pour poser la protection:
• Créer la protection sur le lecteur de destination.
• Modifier le programme que vous souhaitez protéger.
Si vous indiquez le mode Upgrade ou Global Upgrade, CCAdd ne crée pas de
nouvelle protection, il effectue une deuxième opération sur une protection
existante. Ce mode de protection est destiné à mettre à jour des protections
déjà installées chez vos clients. Ainsi quand vous envoyez un upgrade de
protection à vos clients vous n’avez pas besoin de renvoyer une protection
complète. Vous devez seulement protéger votre nouveau programme en mode
Upgrade (Si vous utilisez la protection Objet avec une DLL CopyControl, vous
n’avez pas besoin de changer la DLL originale de votre protection, il suffit
simplement de remplacer votre fichier exécutable).
Pour installer un Upgrade, vous devez simplement distribuer le nouveau
programme que vous ajoutez à la protection. Rappelez vous qu’avec le mode
Upgrade, le Code Produit et le numéro de série doivent correspondre avec la
protection originale. Pour le mode Global Upgrade vous devez juste faire
correspondre le Code Produit.
Si vous choisissez le mode Upgrade, vous ne pouvez initialiser que les nombres
limites des autres champs (Les champs correspondant à la création de la
protection sont grisés car cette dernière a déjà été créée).
Si vous désirez que votre Upgrade de protection fonctionne pour toutes les
versions distribuées de votre logiciel, indépendamment du numéro de série de
la protection, vous devez utiliser le mode Global Upgrade.
Note – Si vous disposez d’une version incrémentale de CopyControl sachez
que pour le mode Upgrade et Global Upgrade il ne vous est pas décompté de
droit de pose de protection.
Si vous désirez autoriser un de vos distributeurs à produire des Disquettes
Master vous devez choisir l’option Master de Distribution. Il pourra alors créer
des Master Disquettes selon vos paramètres et dans la limite des quantités que

Pose de la protection • 6-3


vous lui avez allouées. Voir "L’option Distributeur" page 16-1. Cette option est
uniquement disponible si vous en avez fait l’acquisition.

Numéro de Série
Doit être spécifié pour chaque protection sauf Unlock-It, Try-It et Global Upgrade.

CopyControl mémorise le numéro de série de chaque protection, ce qui permet


d’identifier et de différencier les protections. Vous pouvez choisir le numéro de
série de départ. Par défaut, à chaque nouvelle protection le numéro de série est
incrémenté de 1. Il est en fait incrémenté automatiquement après chaque pose
de protection. Vous pouvez choisir un numéro de série compris entre 1 et
2,147,483,647. Pour plus de flexibilité vous disposez d’un certain nombre
d’options dans la page Options avancées de CCAdd pour personnaliser la
génération du numéro de série.
Vous ne devez pas indiquer de numéro de série pour les protections de type
Unlock-It, Try-It ou Global. Un numéro de série unique est généré à l’installation
de la protection pour le mode Unlock-It ou Try-It. Vous pouvez modifier le
numéro de série avec CCRemote.

Nombre Maximum de Jetons


Master Disquette et distribution uniquement..

L’objectif principal de CopyControl est de limiter la distribution de votre logiciel à


un nombre de copies fixées par vos soins. Le nombre de jetons Maximum
correspond en fait au nombre de copies de votre logiciel que votre client va
pouvoir installer. Vous pouvez indiquer un nombre de jetons compris en 0 et
65535.
Si vous souhaitez que votre logiciel ne puisse être exécuté qu’avec la présence
de la disquette Master vous devez indiquer 0 dans le champ Nombre Maximum
de jetons et cocher la case Unité permise | Disquette

Nombre Maximum d’Utilisateurs Réseau


Uniquement utilisé si vous avez l’option Réseau.

Si vous autorisez l’installation de votre logiciel sur un réseau, chaque membre


du réseau va pouvoir démarrer votre logiciel. Aussi, il peut être intéressant pour
vous de limiter l’utilisation de votre logiciel à un nombre fixe d’utilisateurs
réseau. De cette manière le nombre Maximum d’utilisateurs Réseau correspond
au nombre Maximum d’utilisateurs simultanés de votre programme
Si vous disposez de l’option réseau vous pouvez donc spécifier cette limite.
Vous devez donc entrer dans ce champ le nombre limite d’utilisateurs réseau
simultanés que vous souhaitez accorder à votre client. Il faut entrer un nombre
entre 1 et 999. Si vous ne voulez pas de limitation d’utilisateurs simultanés
vous devez indiquer "illimité". Voir "Réseau" page 11-1 pour plus de détails sur
le contrôle des utilisateurs réseau.

Nombre de Master qu’un distributeur peut protéger


Master de Distribution uniquement.

Disponible uniquement si vous disposez de l’option Distributeur de CopyControl


ce champ vous permet d’indiquer le nombre de Disquettes Master que votre
Distributeur est autorisé à produire. Voir "L’option Distributeur" page 16-1 pour
plus de détails sur l’option Distributeur.
Vous devez indiquer le nombre de disquettes Master que va pouvoir créer votre
distributeur, cette valeur ne doit pas dépasser 65 535.

6-4 • Pose de la protection


Mode compatible NT
Master Disquette et distribution uniquement.

Les vérifications des protections sous NT ou Windows 2000 sont parfois


impossibles. Aussi, pour s’assurer d’une compatibilité parfaite sous ces
systèmes d’exploitation vous pouvez cocher cette option Mode Compatible NT.
Attention cependant car l’activation de cette option va permettre une utilisation
correcte de la protection sous NT mais fragilise la qualité de la protection. La
disquette sous certaines conditions peut être dupliquée pour permettre une
exécution sur d’autres systèmes de type NT.
Si vous ne sélectionnez pas cette option vous conservez le maximum de
sécurité mais les utilisateurs ne pourront pas utiliser la protection sous NT.
Cependant il est possible pour les installations sous NT de convertir votre
protection Disquette en Unlock-It. Avec CCMove sélectionnez l’option
Considérer Master Disquette comme Unlock-It (voir "Déplacer une protection
Disquette" page 7-3) de cette manière vous pouvez réaliser l’installation sous
NT il ne vous reste plus qu’à Activer la protection Unlock-It (voir "Activer une
copie Unlock-It Installée" page 8-2). Si vous disposez d’une version standard
de CopyControl vous pouvez créer quelques codes d’activation gratuitement
(voir "Activer une protection disquette sous NT" page 8-3).

Unité Permise
Doit être spécifié pour chaque type de protection..

CopyControl peut vous permettre de restreindre l’utilisation de votre produit à


certains types de supports. Choisissez la combinaison des types de supports
sur lesquels vous souhaitéz que vos utilisateurs puissent utiliser votre produit.
Vous devez impérativement choisir une option et vous ne pouvez pas choisir
l’option Réseau si vous avez déjà coché l’option Disques durs locaux.
Si vous désirez distribuer une ‘disquette clé’(c’est à dire forcer les utilisateurs à
avoir dans le lecteur de disquettes la disquette de protection pour autoriser le
fonctionnement de votre programme), vous devez seulement choisir l’option
Disquette. Si vous utilisez la Méthode Shell vous pouvez spécifier un chemin de
protection avec la variable d’environnement CC_PATH (voir "Déplacer la
Protection" page 7-1) pour forcer la vérification de la protection sur le disque
contenant la protection. Si vous utilisez la méthode de protection Objet, vous
pouvez indiquer le nom du disque dans le champ drive du CCMB ou spécifier le
chemin complet de la protection dans le champ dir du CCMB (voir "Structure
CCMB" page 13-1).

Exécution depuis le Master?


Master Disquette et distribution uniquement.

Il est préférable d’avertir l’utilisateur que la protection va être directement


contrôlée depuis la disquette Master. Cela réduit les risques d’endommagement
de la disquette et encourage l’utilisateur à verrouiller la disquette et à ne pas la
perdre. Cochez cette option si vous désirez autoriser la vérification de la
protection directement sur la Disquette Master.

Détails Fichiers
Vous pouvez protéger jusqu’a 10 fichiers différents par Master de Protection.
(Voir "Protéger un grand nombre de logiciel" page 6-10 pour en protéger plus).
Pour Unlock-It et Try-It vous pouvez protéger jusqu’a 10 programmes par sous
répertoire sur le Master de protection. Chaque programme ainsi protégé peut
avoir des paramètres différents.

Pose de la protection • 6-5


Fichier
Entrer le nom du fichier du programme à protéger, en incluant bien le nom de
l’extension du fichier (exemple PROG1.EXE). Le fichier doit correspondre au
format 8.3 (pas de nom long). Si vous utilisez la méthode DLL (Méthode Objet
avec une DLL CopyControl), rappelez-vous que vous devez indiquer le nom de
la DLL à la place du nom de votre programme..
Vous devez indiquer le chemin complet du fichier à protéger, en incluant le nom
de l’unité. (Exemple. C:\MONPROG\PROG1.EXE). Si vous n’indiquez pas de
chemin, CopyControl va rechercher le fichier dans le répertoire courant de
l’unité spécifiée dans le champ 'Unité de Destination'.
La possibilité de pouvoir indiquer le chemin complet peut s’avérer utile si vous
avez à protéger un programme qui ne tient que compressé sur une disquette.
De cette façon vous pouvez le protéger puis le compresser et le copier sur votre
disquette. Voir "Disquettes Master" page 6-10.
Pour indiquer le nom du fichier et le chemin vous devez effectuer un clic droit
sur le champ correspondant.

Méthode de Protection
Choisissez méthode Shell ou Objet. Voir "Choisir une méthode de Protection"
page 4-2 pour plus de détails. Vous devez utiliser la méthode Objet si vous
protégez une DLL.

Exécutions/copie
Vous pouvez indiquer dans CopyControl un nombre d’exécutions pour votre
programme. Chaque copie de votre programme fonctionnera le nombre de fois
que vous le souhaitez. Vous devez entrer une valeur comprise entre 1 et 2 147
483 647. Si vous ne souhaitez pas limiter le nombre d’exécutions de votre
programme il faut indiquer la valeur "illimité".
Pour la méthode de protection disquette le disque Master mémorise le nombre
d’exécutions restantes. La valeur de départ est (nombre max. de jetons *
exécutions/copie). A chaque transfert de jeton le nombre d’exécutions restantes
est incrémenté ou décrémenté. Lorsqu’un jeton est transféré sur le Disque
Master CopyControl tente de recharger le jeton si il reste des exécutions. Si le
Master ne contient pas suffisamment d’exécutions pour recharger, le jeton
prend la totalité des exécutions restantes.
Pour la méthode Unlock-It le nombre de jetons est toujours 1 ainsi le nombre
d’exécutions totales restantes correspond au nombre d’exécutions restantes
pour cette copie.
CCLook peut afficher le nombre d’exécutions restantes/copies ou total en
interrogeant le Master.

Date d’expiration
Vous pouvez interdire le fonctionnement de votre logiciel après une date fixée
(par rapport à l’horloge de la machine utilisée pour la pose de la protection).
Entrez la date après laquelle vous désirez que le logiciel expire. Si vous ne
voulez pas de restriction indiquez "illimité". Double cliquez gauche pour faire
apparaître le calendrier.
La vérification de la protection bloquera le logiciel après minuit du jour de la
date expirée.
Notez que CopyControl utilise l’horloge de la machine du client pour déterminer
le jour et l’heure courante. CopyControl contient un certain nombre de
techniques qui empêche l’utilisateur de modifier la valeur de la date de sa
machine. Il est cependant possible avec un ajustement très judicieux de pouvoir
utiliser le produit après la date dépassée en modifiant la date de sa machine
mais la date ne doit pas être reculée dans le temps par rapport à la dernière
date d’utilisation de votre logiciel. Cette possibilité n’est donc que très théorique
et en admettant que l’utilisateur arrive à comprendre ce système pour le

6-6 • Pose de la protection


contourner la méthode qu’il devra utiliser sera beaucoup trop contraignante pour
permettre une utilisation normale de votre logiciel.

Nb jours Max
Il est possible avec ce paramètre de limiter le nombre de jour d’utilisation de
votre logiciel à partir de sa date d’installation. Vous devez saisir une valeur de 1
à 65534. Si vous utilisez cette option vous devez normalement interdire
l’utilisation depuis le disque Master.
Au moment de l’installation de la protection (via CCMOVE) la date limite
d’utilisation est calculée en fonction du nombre de jours maximum autorisé
(date du jour + Nb jour Max).
Note : l’exécution de votre logiciel passé cette date sera bloquée. Par exemple,
si Nb jours Max est initialisé à 1 et que le logiciel est installé à 09:00 ce jour il
arrêtera de fonctionner demain à 09:00.
Si l’utilisateur repose la protection sur la disquette Master avant l’expiration du
délai d’utilisation la valeur de Nb jour Max est réduit du nombre de jours déjà
utilisé. Installez et réinstallez votre protection le même jour et la valeur de Nb
jour Max sera réduits de 1.

Mot de Fonctions
Si vous désirez utiliser une zone sécurisée le mot de fonction est idéal. Il vous
permet, en testant sa valeur, de paramétrer l’accès à votre logiciel. Vous
pouvez utiliser ce champ pour déterminer les fonctions de votre logiciel à
utiliser. Vous pouvez indiquer une valeur comprise entre 0 à 4,294,967,295. Ce
champ est entièrement sécurisé et sa valeur peut être changée à distance
comme les autres paramètres de CopyControl (CCCHANGE – CCRREMOTE).
Ce champ est particulièrement utile si vous utilisez la méthode Objet (voir "La
Méthode Objet" page 4-2).
Vous pouvez indiquer la valeur de ce champ en décimal, hexadécimal ou
binaire. Pour y accéder cliquez droit sur ‘Mot de Fonction’.

Options Avancées
Vous pouvez accéder à ces options en cliquant sur le bouton “Options
Avancées”:
• Vérification d’emplacement - voir "Emplacement de vérification" page
15-3. La valeur par défaut est “Compatibilité Maximum”.
• Vérification DFS - voir "Vérification DFS" page 15-4. La valeur par
défaut est “Décision CopyControl”.
• Lancement Permis sous NT. Décochez cette case si vous ne
souhaitez pas que votre application fonctionne sous NT. Cette option
est cochée par défaut (c’est à dire Lancement sous NT autoriser).
• Restreindre le numéro de série Unlock-It à 16 bits. Si vous devez
utiliser la version DOS de CCREMOTE vous devez cocher cette case.
En effet CCREMOTE DOS n’accepte pas les codes supérieurs à 16
bits. Par défaut cette option est décochée(c’est à dire le code calculé
est sur 32 bits).
• Nombre actuel de jetons – A la création du disque Master,
CopyControl positionne le nombre de jeton du disque Master à la valeur
maximum autorisée. Vous pouvez changer cette valeur en indiquant un
nombre différent dans ce champ.
• Prochain numéro de mise à jour – Par défaut, CopyControl initialise
le prochain numéro de mise à jour à 1. Vous pouvez commencer à une
autre valeur si vous le souhaitez.
• Incrémenter le numéro de série de … - Par défaut CCAdd incrémente
le numéro de série de 1 à chaque création de disque Master. Vous
pouvez modifier cette valeur.

Pose de la protection • 6-7


• Temps de réponse Réseau Asynchrone - Par défaut, CopyControl
autorise les stations de travail à différer de 10 minutes l’accès à la
protection (depuis la dernière vérification). Vous pouvez modifier cette
valeur ici. (voir "Utilisateurs Réseaux Simultanés" page 11-2)
• Verrouiller à la carte mère - Si cette option est sélectionnée,
CopyControl prend en compte certains paramètres de la carte mère lors
de l’installation. Lors du démarrage de votre logiciel la protection
refusera de fonctionner si la carte mère à été changée. Cela permet de
renforcer la protection contre les copieurs bit à bit. Attention cependant
car une mise à jour de la ROM BIOS rend la protection invalide. Cette
option est décochée par défaut.
• Accès disque dur bas niveau - La qualité de la protection
CopyControl est accrue si vous cochez cette option. Vous autorisez
ainsi CopyControl à utiliser un accès bas niveau au secteur du disque
dur. La protection contre les copieurs de disque dur se trouve alors très
nettement renforcée. Cette option est décochée par défaut.
Note pour les utilisateurs des versions inférieures à la version 3.02
'Action à suivre si la protection n’est pas trouvée ' est désormais supprimé de
CCADD. Si la vérification retourne une erreur en méthode Shell (le logiciel est
alors stoppé) si il s’agit de la méthode objet un code erreur de retour indique la
défaillance de la protection.
Note pour les utilisateurs des versions inférieures à la version 3.00
'Afficher Code d’erreur' est désormais supprimé de l’interface CCADD de
CopyControl. Le code d’erreur est affiché si vous utilisez la méthode Shell. Si
vous utilisez la méthode objet le code d’erreur n’est pas affiché sauf si vous
initialisez le flag 1 du bit 8 dans le CCMB (voir "Structure CCMB" page 13-1).

Messages
Pour visualiser la liste des messages ne retournez pas CopyControl,
sélectionnez le bouton Messages. Une fenêtre s’ouvre et vous pouvez ainsi
visualiser la liste des messages et même les modifier. Ces messages seront
affichés si vous utilisez la méthode de protection Shell. Si vous utilisez la
méthode de protection Objet il ne seront pas affichés sauf si vous initialiser le
flag1 du bit 7 dans le CCMB (voir "Structure CCMB" page 13-1). Les messages
sont:
• Utilisation non autorisée
• Message sécurisé
• Message d’expiration
• Message d’activation
Ils sont décrits dans le détail ci-dessous.

Utilisation non autorisée


Entrez ici le message que vous souhaitez voir afficher lorsqu’un utilisateur tente
d’utiliser votre logiciel avec une protection invalide. Vous pouvez saisir une
chaîne de 128 caractères.

Message sécurisé
Vous pouvez indiquer à CopyControl un message sécurisé à afficher lorsque
votre logiciel démarre avec une protection valide. Ce message est pleinement
protégé par CopyControl. Vous pouvez saisir une chaîne allant jusqu'à 255
caractères. Si vous utilisez la méthode de protection objet vous pouvez
également stocker des informations cachées dans ce champ. Voir "Fonction 1"
page 14-5 pour plus de détails.
Des fonctions spéciales d’affichage du message sécurisé peuvent paramétrée
en insérant les codes spéciaux ci-dessous :

6-8 • Pose de la protection


• ~D Délais de 3 secondes (DOS seulement).
• ~P Pause jusqu’a pression d’une touche (DOS
seulement).
• ~B Bip micro (DOS seulement).
• ~S Affichage du numéro de série.
• ~N Saut de ligne.
• ~Z Insertion d’un caractère nul.
• ~~ Affichage à partir de ~.
Pour entrer les codes spéciaux utilisés la touche Alt avec le pavé numérique.

Message d’expiration
Si vous limitez l’utilisation de votre logiciel dans le temps ce message apparaîtra
à l’expiration de la protection. Vous pouvez saisir une chaîne de 128 caractères.

Message d’activation
Ce champ est uniquement utilisé dans le cas de protection Unlock-It. Entrez ici
le message que vous souhaitez voir apparaître lorsqu’un utilisateur démarre
votre logiciel avec une protection Unlock-It pas encore activée.

Configuration Autoloader
Seulement si vous disposez de l’option Autoloader

Si vous désirez protéger un grand nombre de disquettes. Vous pouvez utiliser


CopyControl avec l’option Autoloader même si vous ne disposez pas
d’Autoloader connecté à votre ordinateur. La version non-Autoloader de
CopyControl n’autorise pas la duplication massive de disques après 8 créations
de disquettes Master le temps de pose de protection augmente de plus de 2
secondes à chaque nouvelle pose de protection. La vitesse normale de pose de
protection est restaurée avec l’option Autoloader. Voir "Autoloaders" page 18-1
pour plus de détails sur l’option Autoloader.

Disque de Destination
Vous devez choisir une valeur pour les modes Unlock-It, Try-It, Disquette et Master Distributeur.

Sélectionnez l’unité sur laquelle vous souhaitez que la protection soit ajoutée.
Pour Unlock-It ou Try-It il peut s’agir de tous les types d’unité. Pour les modes
Disquette et Master de distribution, il ne peut s’agir que du lecteur de
disquettes.
Note: La protection est constituée de deux fichiers: CCONTROL.SYS et <code
produit>.CCC, lors de la création de la protection ils sont placés dans la racine
de l’unité. Ces fichiers ne sont pas crées si vous utilisez le mode Upgrade ou
Protection Global.

Protection
Une fois tous les paramètres de protection renseignés. Vous pouvez réaliser la
pose de la protection en cliquant sur ‘PROTECTION’. CCAdd va alors réaliser
les tâches suivantes :
• Modification du programme indiqué dans le champ nom (si le chemin du
fichier n’est pas indiqué CCADD recherche le fichier dans le répertoire
courant de l’unité de destination.
• Création de la protection (création des fichiers CCONTROL.SYS et
<code produit>.CCC). La protection n’est pas créée si vous utilisez le
mode Upgrade ou Global. Les fichiers de protection CCONTROL.SYS
et <code produit>.CCC sont des fichiers cachés si la pose de la
protection est effectuée sur une disquette.

Pose de la protection • 6-9


Le temps de pose de protection dépend des fonctions utilisées et peut varier de
quelques secondes à plusieurs minutes. La méthode Objet est plus rapide que
la méthode Shell. Les Modes Unlock-It, Try-It et Upgrade sont plus rapides que
la protection de type disquette. Poser une protection sur une disquette vide est
plus rapide que sur une disquette contenant déjà des fichiers.

Créer votre disque Master


La création de disque Master est l’étape qui suit la pose de protection sur votre
logiciel. Cette fonction diffère selon les mécanismes de protection utilisés.

Unlock-It, Try-It et Disques Master


Votre disquette Master inclue les fichiers de protection, votre programme
protégé ainsi que les fichiers CCONTROL.SYS et <Code Produit>.CCC). Les
deux fichiers de la protection sont placés dans la racine de l’unité de
destination. Si vous utilisez un système d’installation de votre logiciel qui
nécessite la compression de votre programme vous devez protéger votre
logiciel avant la compression.
Vous devez également inclure CCMove et CCChange pour installer la
protection et en modifier les paramètres. Si vous protégez un programme en
mode Upgrade ou Global il n’est pas nécessaire d’inclure ces deux programmes
: dans ces deux cas l’utilisateur utlise les versions de CCMOVE et CCChange
situé sur son disque Master.

Disquettes Master
Le simple fait de vouloir poser un jeton de protection sur une disquette va créer
automatiquement une disquette Master.
Dans la pratique, beaucoup de monde utilise des routines d’installation
nécessitant la compression de l’applicatif (le programme ne loge pas dans la
disquette). Vous devez dans ce cas protéger votre programme sur le disque dur
de votre ordinateur (indiquez le chemin du programme dans le champ nom
fichier de CCADD). Le programme protégé ne doit pas être systématiquement
contenu dans l’unité sur laquelle la pose de la protection va être réalisée. Ainsi
la protection peut être créée sur une disquette même si le programme protégé
ne tient pas sur la disquette.
Si vous utilisez le mode de protection 'Global Upgrade' il ne sera pas créé de
protection disquette. Aussi vous devez ajouter la protection sur chaque
disquette en utilisant le mode de protection disquette. Le code produit ainsi que
les paramétrages de protection doivent correspondre à ceux utilisé pour le
mode Global Upgrade.
Vous devez par ailleurs inclure une version CCMove et CCChange. Il peut
également s’avérer très utile de joindre une version CCLOOK. Si vous protégez
un programme en mode Upgrade ou Global il n’est pas nécessaire d’inclure ces
deux programmes : dans ces deux cas l’utilisateur utilise les versions de
CCMOVE et CCChange situées sur son disque Master.

Protéger un grand nombre de logiciel


Vous pouvez indiquer par protection jusqu’à 10 noms de logiciels différents.
Vous pouvez, si vous utilisez le mode de protection disquette, protéger un
nombre illimité de programme avec une seule protection. Chaque produit
dispose d’un jeton constitué des fichiers CCONTROL.SYS et <code
produit>.CCC.

6-10 • Pose de la protection


Normalement vous ne pouvez pas dépasser les 10 programmes différents pas
protection pour rendre cette valeur illimitée vous avez deux solutions.
La plus simple est d’utiliser un programme commun, lanceur des autres
logiciels..
• Il est également possible de protéger plusieurs programmes portant le
même nom, de cette façon il n’y a plus de limite.

Pose de la protection • 6-11


Déplacer la Protection

Aperçu Rapide
Beaucoup de développeurs autorisent les utilisateurs à déplacer les protections
CopyControl. Cela permet de transférer la protection de la disquette
d’installation vers la machine et d’une machine vers une autre. Certaines
versions Dll de CCMove et CCChange permettent d’inclure ces fonctions dans
la plupart des programmes d’installation du marché.
Votre programme d’installation réalise alors de façon transparente pour
l’utilisateur l’installation de la protection CopyControl. Pour le mode de
protection disquette nous vous invitons à bien repérer la disquette contenant la
clé de protection. Vous trouverez des exemples d’intégration pour InstallShield
Wise dans le répertoire SAMPLES de CopyControl.
Dans le cas d’une protection Unlock-It, CCMove va créer une protection Unlock-
It inactivée sur le disque dur de destination. Si vous utilisez Try-It ou le mode de
protection disquette, CCMove transfert une protection complète et
opérationnelle.
Vous pouvez transférer une protection depuis un Master Try-It ou Unlock-It mais
pas vers ce type de Master. Avec le mode de protection disquette vous pouvez
repositionner la protection sur la disquette Master.
Nous vous recommandons de transférer la protection dans le répertoire
d’installation de votre application. (ou dans le répertoire contenant CC32.DLL si
vous utilisez la méthode objet et cette DLL). Si vous le souhaitez vous pouvez
installer votre application dans un répertoire différent du répertoire contenant la
protection. Cela peut être le cas si votre logiciel est utilisé sur un réseau.
Si vous placez la protection dans un répertoire différent vous pouvez indiquer le
chemin de la protection dans le champ Dir du CCMB lors de l’appel à la
protection (voir "Appeler La Routine CopyControl" page 5-1) ou initialiser la
variable d’environnement Ms-DOS (CC_PATH_<code produit>) pour indiquer
ou se trouve la protection.
Exemple. SET CC_PATH_PROD1=C:\ADIR
ou PROD1 est votre code produit, C: est le disque contenant la protection et
\ADIR le répertoire.
Note modifier la variable d’environnement DOS depuis l’invite de commande
DOS ne met pas à jour les variables d’environnement pour Windows. Pour cela
préférez toujours l’initialisation des variables d’environnement depuis le fichier
AUTOEXEC.BAT.
En général, CopyControl recherche la protection dans:
• Le chemin indiqué dans le CCMB.
• Le chemin indiqué par CC_PATH_<code produit>.
• Le répertoire courant de l’applicatif protégé.
• Le répertoire courant du disque spécifié dans le champ Drive du CCMB.
• Le répertoire racine.
3 versions de CCMove sont disponibles : CCMOVE.EXE (pour Windows et
DOS), CCMOVE32.DLL pour les programmes 32 bits Windows et

Déplacer la Protection • 7-1


CCMOVE.DLL pour les programmes 16 bits Windows. CCMove est disponible
en plusieurs langues sur le CD-Rom d’installation de CopyControl.
Note: La version de CCMove doit correspondre à la version de la protection à
déplacer.

Installation d’une protection Unlock-It


Si vous utilisez le mode de protection Unlock-It vous devez suivre les étapes
suivantes :
• Votre programme d’installation ou le client lance CCMove pour
transférer la protection du répertoire source vers le répertoire
d’installation. Cela va créer une protection inactive sur le disque
d’installation et génère un numéro de série unique pour la protection.
• Le client vous contact pour récupérer le code d’activation.
• Vous lancez CCRemote pour calculer le code d’activation. Le client
vous indique le numéro de série que CCMove a affiché. Vous devez
également connaître la version de CopyControl utilise, le code produit,
et le prochain numéro de mise à jour.
• Votre programme d’installation ou le client lance CCChange, puis le
client entre son code d’activation.
• La protection de votre client est alors Active
Les étapes 2-4 peuvent être automatisées si vous utilisez l’option KeyCall. Ce
système permet la génération automatique des codes d’activation (c’est à dire
sans aucune intervention de votre part). KeyCall est disponible par Internet et
par Téléphone. CopyControl appel automatiquement le système KeyCall lors de
la première installation.
Lors du démarrage de CCRemote, vous devez connaître le numéro de version
Copy Control du client, le code produit, et le numéro de mise à jour, ainsi que le
numéro de série d’installation généré par CCMove. Vous pouvez récupérer ces
informations de différentes façons :
• Votre programme peut les récupérer depuis l’exécution de CCMove.
Cette méthode est préférable car elle minimise les interventions
manuelles du client et donc les erreurs
• Vous pouvez mémoriser ce que vous envoyer à vos clients.
• Vous pouvez demander les informations à votre client en démarrant
CCChange et en cliquant sur ‘Obtenir Informations’.
CCRemote et CCChange sont détaillés dans "Changer les paramètres à
distance." page 8-1.
Note – Votre system Unlock-It vous permet de produire un nombre limité de
code d’activation. Ce nombre est stocké dans le champ ‘Exécutions restantes’
pour CCRemote ou Activate. Vous pouvez visualiser cette valeur grâce à
CCLook. Si vous désirez acquérir des droits d’activations supplémentaires
contacter APLIKA. Nous vous délivrerons alors un code à saisir dans
CCChange qui permettra de changer le nombre de droits d’activation.

Déplacer une protection Unlock-It installée


Vous pouvez déplacer une protection Unlock-It installée vers une autre
machine, disque ou répertoire. Pour cela vous devez suivre les étapes
suivantes :
• Démarrer CCMove depuis le disque Master Unlock-It vers la nouvelle
destination pour créer une nouvelle protection inactive. Notez le numéro
de série généré par CCMove.
• Démarrer CCChange (voir "CCChange" page 8-7) en indiquant le
chemin de l’ancienne installation. Cliquez sur le bouton 'Avancé' et

7-2 • Déplacer la Protection


cochez la case "Déplacer protection Unlock-It installée" et tapez le
numéro de série fourni préalablement par CCMove. Ce code va
permettre la désinstallation complète de la protection et va générer un
code d’activation pour la nouvelle installation.
• Démarrer CCChange en indiquant le chemin de la nouvelle installation
puis indiquez le code d’activation. La protection est alors activée.

Installer une Protection Try-It


Pour installer une protection Try-It vous devez utiliser CCMove. CCMove doit
créer une copie installée sur le disque d’installation. Dans un premier temps le
jeton est installé sur la machine. L’installation du jeton ne peut pas être relancée
une deuxième fois sur la même machine même si la première installation est
totalement supprimée. La seule façon d’autoriser une nouvelle installation est
de fournir un code de ré-installation ce code est calculé par CCRemote (voir
"Autoriser une ré-installation Try-It" page 8-4).
Le nombre de machine sur lesquelles peut être installé le jeton Try-It est illimité.
Il est possible de convertir un jeton Try-It en installation Unlock-It (voir "Activer
une copie Unlock-It Installée" page 8-2 pour plus de détails).
Note – vous ne pouvez pas installer une protection Try-It sur une unité réseau,
vous ne pouvez pas non plus déplacer une installation Try-It vers une autre
machine, disque ou répertoire.

Déplacer une protection Disquette


Pour déplacer un jeton de protection de type protection disquette de la disquette
Master vers un disque dur votre application (ou le client) peut utiliser CCMove.
CCMove va alors créer un jeton sur le disque cible et décompté de 1 le nombre
de jetons restants sur la disquette Master.
Si vous avez besoin de transférer votre jeton vers un autre disque vous devez
utiliser CCMove pour remettre le jeton sur la disquette Master puis redéplacer le
jeton de la disquette Master vers le nouveau disque d’installation.
Les protections disquettes ne peuvent être déplacées que depuis ou vers la
disquette Master.

Déplacer la Protection • 7-3


Utiliser CCMOVE.EXE
CCMOVE.EXE peut être utilisé sous Windows ou DOS.
Lorsque vous exécutez CCMOVE.EXE sous Windows 95, 98, Millénium, 2000,
NT ou dans une boîte de dialogue DOS, une boîte de dialogue s’ouvre et
demande à l’utilisateur de saisir le chemin source et le chemin destination.

Boîte de dialogue CCMove

Vous disposez également de plusieurs options sous forme de cases à cocher.


Ces options ne sont utilisées que dans certains cas spéciaux. Elles sont
décrites ci-dessous :
• Ecraser un jeton existant. Si cette option n’est pas cochée et qu’un
jeton de protection est déjà existant dans le répertoire de destination de
la protection, une erreur 35 sera retournée.
• Considérer Master disquette comme Master Unlock-It. Cette option
permet d’installer depuis un disquette Master un jeton vers un disque
dur. Le résultat de cette installation est une installation Unlock-It normal.
On utilise cette option par exemple dans le cas des lecteurs de
disquettes LS120 qui ne permettent pas l’installation d’un jeton de type
protection disquette. Cette option n’est pas nécessaire dans le cas du
déplacement d’un jeton Unlock-It. Note – si vous utilisez cette option le
jeton Unlock-It installé aura un numéro de série différent de celui
indiqué sur la disquette Master. Si vous protégez votre application en
mode 'Global Upgrade' cela ne posera pas de problème, dans les
autres cas vous devez, avec CCRemote, modifier le numéro de série du
jeton Unlock-It installé pour le faire correspondre avec celui de la
disquette Master. (Conseil – vous pouvez réaliser cette opération en
même temps que l’activation du jeton Unlock-It).
• Utiliser des attributs normaux sur la destination. Pour ne pas rendre
les répertoires de destination et les fichiers en attribut Lecture Seule /
Cachée / Système. Certaines architectures de type PC-NFS (y-compris
HP PC-NFS) nécessitent cette option.
• Désinstaller à partir d’un réseau VMS. Utiliser cette option si vous
déplacez le jeton depuis un serveur réseau VMS.
Lorsque l’utilisateur clique sur le bouton “Déplacer Protection”, le transfert
démarre puis retourne un code d’erreur ou notifie la réussite de la procédure. Si
une erreur à lieu, un message d’erreur est affiché. L’utilisateur peut cliquer sur
Diagnostique pour obtenir plus d’informations. L’utilisateur peut sauvegarder ce
message pour une analyse plus poussée par APLIKA..
Pour déplacer la protection, vous devez disposer dans le répertoire source et
dans celui de destination des droits de lecture écriture et d’accès.

7-4 • Déplacer la Protection


Si vous déplacez un jeton depuis un répertoire contenant plusieurs jetons
CopyControl, CCMove détermine seul lequel des jetons correspond au disque
Master (vérification du code produit).
Si CCMOVE.EXE est exécuté sous DOS, Windows 3.x ou en mode MSDOS ,
un programme DOS est alors exécuté.

Utiliser CCMOVE.DLL
CCMOVE32.DLL peut être appelée depuis un programme Windows 32-bit. Si
vous utilisez un programme 16-bit, vous devez utiliser CCMOVE16.DLL. Ces
DLL contiennent une fonction appelée CCMOVE_SDO qui permet le transfert
des jetons de façon similaire au programme CCMOVE.EXE.
La syntaxe de la fonction CCMOVE_SDO est :
CCMOVE_SDO( source, destination, options, buffer, buffer_size )
• source est un pointeur vers une chaîne contenant
le chemin complet de l’emplacement de jeton source à transférer. Les
noms longs sont supportés avec CCMOVE32.DLL.
• destination est un pointeur vers une chaîne contenant
le chemin complet de la destination du jeton. Les noms longs sont
supportés avec CCMOVE32.DLL.
• options est un pointeur vers une chaîne contenant
la liste des options sélectionnées (séparateur espace) . Entrer NULL si
aucune option n’est requise. La liste des options est décrite ci-après.
• buffer est un pointeur vers un bloc mémoire de
votre application. CCMOVE_SDO retourne le numéro de version, le
code produit et le numéro de mise à jour ainsi que les messages
CCMove dans ce buffer. Cela est particulièrement utilisé si vous
réalisez des installations de jetons Unlock-It. La structure du buffer est
décrite dans "Structures CCMove et CCChange" page 13-5. Vous
pouvez indiquer NULL si vous ne souhaitez pas utiliser ce paramètre.
• buffer_size c’est la taille du buffer. C’est un entier
court. Vous pouvez indiquer 0 si vous ne récupérez pas d’informations.
Si l’option est placée à NULL les messages d’erreur sont affichés (si une erreur
apparaît), mais les messages de réussite apparaissent également. Voici la liste
des options possibles :
• /M Affiche les messages d’erreur / de réussite.
• /Q N’affiche aucun message.
• /U Considère la disquette Master comme
Master Unlock-It.
• /O Ecrase une protection existante.
• /X Affiche un diagnostique d’erreur. Cela peut
être utile pour une analyse d’erreur par Microcosm.
• /N n’utilise pas les attributs lecture seule/
caché et système pour les fichiers et les répertoires de destination de
protection. Quelques installations de type PC-NFS (y-compris HP PC-
NFS) nécessitent cette option.
• /V utilisé pour déplacer un jeton depuis un
Serveur VMS.
Si buffer_size est à 0 alors CCMove devra afficher les messages suivant les
options spécifies. Si buffer_size est différent de zéro les messages sont
mémorisés dans le buffer et ne sont pas affichés.
CCMOVE_SDO retourne un entier long contenant la valeur de retour CCMove
le code d’erreur (0 = succès). Voir "Codes d’erreurs CCMove" page 19-9 pour la
liste des codes de retour.

Déplacer la Protection • 7-5


Un code exemple pour l’utilisation de CCMOVE_SDO est disponible dans le
répertoire SAMPLES de Copy Control.

Restrictions
• CCMove ne peut transférer des protections disquette que depuis ou
vers une disquette Master.
• Vous ne pouvez reposer une protection sur un Master Unlock-It ou Try-
It.
• Le Transfert d’une protection vers un disque RAM est interdit.
• Vous pouvez transférer une protection vers un disque dur réseau mais
pas vers une disquette réseau.
• Vous ne pouvez pas transférer un jeton d’une disquette Master vers
une autre disquette si cette dernière contient des secteurs défectueux.
Vous devez reformater la disquette de destination (vous devez effectuer
un formatage complet sous Windows ou sous DOS avec les options /u
et /c).
• Si vous utilisez CCMove avec l’option Considérer Master disquette
comme Master Unlock-It vous devrez activer le jeton alors installé pour
autoriser le fonctionnement normal de votre application
• Si un nombre limite d’utilisateurs réseau simultanés à été fixé vous
pouvez transférer un droit d’utilisation réseau vers une machine mono-
poste grâce à CCEXNET.EXE (voir "Déplacer un droit d’utilisation
réseau sur un mono poste non connecté" page 11-4).
Si vous obtenez un code d’erreur à l’exécution de CCMove reportez-vous à
"Erreurs CCMove" page 20-1.

7-6 • Déplacer la Protection


Changer les paramètres
à distance.

Aperçu Rapide
Une des fonctionnalités principale de CopyControl est de pouvoir par simple
code modifier à distance les paramètres de protection de votre logiciel
directement chez votre client.
Si vous utilisez le mode Unlock-It vous avez déjà utilisé cette procédure pour
activer le jeton Unlock-It.
Le code de mise à jour des paramètres est sécurisé et unique (un code pour
chaque client). Ce code est unique et ne peut être utilisé que par un seul client.
Le code ne peut être utilisé qu’une seule fois. Cependant vous pouvez répéter
cette opération de mise à jour autant de fois que vous le souhaitez.
Si vous désirez utiliser cette caractéristique de Copy Control vous devez fournir
le programme CCChange à vos clients. Vous devriez également conserver le
code produit le numéro de série et celui de mise à jour du client.
L’utilitaire CCRemote est utilisé pour générer les codes de mise à jour des
jetons. Le client doit alors démarrer CCChange et saisir le code de mise à jour
que vous lui avez fourni.
Pour une installation Unlock-It, le code de mise à jour doit être appliqué sur le
jeton installé. Pour les protections de type protection disquette le code ne peut
être appliqué que sur les disquettes Master (Les jetons doivent d’abord être
rapatriés sur la disquette Master, le code est alors appliqué sur la disquette
Master, il ne vous reste plus qu’à retransferer les jetons sur les postes des
utilisateurs une fois les modifications effectuées. Vous ne pouvez modifier
aucun paramètres sur un Master Try-It ou sur une copie installée, mais vous
pouvez activer un jeton Unlock-It installé et calculer un code de réinstallation
Try-It.

CCRemote
Cet utilitaire permet de générer les codes de mises à jours à distance des
protections client. La plupart des paramètres initialisés par CCADD peuvent être
modifiés à distance. Les modifications suivantes sont possibles :
• Activer un jeton Unlock-It installé.
• Convertir une installation Try-It en installation Unlock-It.
• Créer un code de confirmation de désinstallation Unlock-It.
• Activer un jeton sous NT avec l’option Unlock-It de CCMove.
• Restaurer le nombre de jetons à la valeur maximum.
• Fixer le nombre maximum de jetons.
• Changer le nombre de jetons.
• Initialiser les unités d’installation permises.

Changer les paramètres à distance. • 8-1


• Autoriser une ré-installation Try-It.
• Initialiser la date de dernière utilisation.
• Initialiser le nombre maximum d’utilisateurs réseau simultanés.
• Modifier le nombre de disquette Master qu’un Distributeur peut produire.
• Modifier le numéro de série.
• Initialiser le nombre d’exécutions par copie.
• Initialiser la date d’expiration.
• Initialiser "Nb jours Max".
• Initialiser le mot de fonction.
• Modifier le numéro de mise à jour.
La version la plus puissante de CCRemote est disponible depuis la plate-forme
du développeur, cependant il existe également une version DOS (voir
"CCREMOTE" page 12-2). La fenêtre CCRemote vous permet de visualiser les
paramètres que vous pouvez modifier. Une fois les modifications apportées
vous pouvez sauvegarder les changements dans un fichier (.CCR). Vous
pouvez alors sélectionner Fichier/Nouveau pour un nouveau fichier ou
Fichier/Ouvrir pour réutiliser un fichier sauvegardé.

Ecran principal de CCRemote

Certains champs sont obligatoires aussi le client doit être correctement identifié
avant de pouvoir réaliser les changements de paramètres :
• Code Produit
• Numéro de Série
• Numéro de Mise à jour
• Numéro de version CopyControl du jeton
Si vous n’avez pas stocké ces informations vous pouvez les demander à
l’utilisateur final. Il peut les obtenir avec CCChange ou CCLook. Une fois les
informations obtenues vous pouvez les saisir dans CCRemote et procéder aux
modifications du jeton.

Activer une copie Unlock-It Installée


Mode Unlock-It et Try-It seulement

8-2 • Changer les paramètres à distance.


Quand une copie Unlock-It est installée depuis un Master Unlock-It vers un
disque dur le jeton installé est ‘inactif ‘. Aussi il est nécessaire pour débloquer
votre application en version complète de rendre le jeton actif. Choissiez l’option
Activer jeton Unlock-It dans CCRemote puis cliquez sur le bouton ‘Afficher le
code de mise à jour’. Une copie Unlock-It inactive ne peut accepter un code de
mise à jour que s’il contient le code d’activation du jeton (d’autres modifications
peuvent être réalisées simultanément). Une fois le jeton activé, les modifications
peuvent être réalisées sans contraintes, il n’est plus nécessaire d’activer le
jeton.
Il est également possible d’activer une installation Try-It. Cela revient à convertir
l’installation Try-It en installation Unlock-It active.
Note: Si une installation Try-It à déjà été converti en installation Unlock-It il n’est
plus possible de procéder à l’installation Try-It.

Créer un code de confirmation de désinstallation


Unlock-It
Unlock-It seulement

Une copie Unlock-It installée et activée ne peut être désinstallée et reposée sur
la Master Unlock-It (comme c’est le cas pour les protections disquette). La
protection peut cependant être transférée vers une nouvelle destination
(disque/répertoire) en utilisant CCChange (voir "Déplacer une protection
Unlock-It installée" page 7-2).
Si vous choisissez de supprimer la protection et que vous voulez vous assurer
que l’utilisateur final à bien procédé à la désinstallation de la protection vous
pouvez demander à CCChange d’afficher un code de confirmation de
désinstallation Unlock-It il suffit de cocher l’option correspondante dans
CCRemote. Vous n’avez plus qu’à demander à l’utilisateur de vous indiquer le
code de confirmation.
Vous pouvez utiliser cette fonction avec d’autres fonctions de CCRemote.

Activer une protection disquette sous NT


Protection disquette seulement

Le principe de fonctionnement est le même que pour l’activation d’une


protection Unlock-It. Cette option ne fonctionne que pour les jetons installés
sous forme de protection Unlock-It depuis un Master de protection disquette
vers une machine de type Windows NT. Vous devez acquérir une version
standard illimitée pour disposer de cette fonction. CCRemote ne décompte pas
de droit d’utilisation CCRemote pour l’utilisation de cette fonction. Si vous
désirez activer une copie Unlock-It installée vous devez utiliser l’option ‘Activer
une copie Unlock-It installée’.

Restaurer le nombre de jetons au Maximum


Protection disquette et Master de distribution seulement

Replace le nombre de jetons à la valeur maximum. Si vous changez la limite


maximum de jetons en même temps, la nouvelle limite maximum sera prise en
compte. Entrez un nombre compris entre 0 et 65,535 ou laissez vide pour ne
pas le modifier.

Nombre Maximum de Jetons


Protection disquette et Master de distribution seulement

Vous pouvez modifier la limite du nombre maximum de jetons autorisé par le


Master de protection disquette par un nombre compris entre 0 et 65,535 ou
laisser vide pour ne pas le modifier.

Changer les paramètres à distance. • 8-3


Ajouter des jetons au Master
Protection disquette et Master de distribution seulement

Vous pouvez remplacer des jetons perdus en les rajoutant sur le Master de
protection. Vous pouvez également utiliser cette fonction pour en ajouter. Il n’est
pas possible d’ajouter plus de jetons que la limite maximum de jetons
n’autorise. Entrer un nombre compris entre 0 et 65,535 ou laisser vide pour ne
pas le modifier.

Types d’unités permises


Vous pouvez modifier le type d’unité autorisé pour l’exécution de votre logiciel.
Si vous ne choisissez aucune de ces options il n’y a pas de changement.
Note : l’ancienne configuration est complètement remplaceée par une nouvelle
sélection. Si par exemple vous ne cochez que la case unité réseau, seules les
unités réseau pourront être utilisées pour l’installation du jeton de protection.
Vous ne pouvez pas utiliser l’option disquette ou Unité réseau sans sélectionner
l’option disques locaux.

Autoriser une ré-installation Try-It


Try-It seulement

La protection Try-It vous permet d’installer une version de votre logiciel une
seule fois sur une machine. Si vous sélectionnez cette option un code spécial
est généré et permet la réinstallation d’une version Try-It sur la même machine.
C’est la seule façon de réinstaller une version Try-It.
Note – Si l’utilisateur a supprimé l’installation originale la régénération de
l’installation Try-It est plus compliquée. Pour plus de détails sur le calcul de ce
code dans ce cas voir "Avancées" page 8-8.

Changer la date de dernière utilisation


Si vous avez fixé une date limite d’utilisation de votre application, CopyControl
va vérifier si l’utilisateur ne tente pas de reculer l’horloge de sa machine pour
prolonger la durée d’utilisation du logiciel. C’est pourquoi CopyControl conserve
la date et l’heure de la dernière utilisation du logiciel. Si l’utilisateur recule la
date de la machine le logiciel refuse de fonctionner.
Dans ce cas CopyControl retourne une erreur -64. Pour supprimer cette erreur
vous devez replacer la date de dernière utilisation a la date du jour. Vous
pouvez saisir la date au format par défaut de Windows ou double cliquer pour
voir apparaître un calendrier. Laisser vide pour ne pas la modifier.

Nombre Maximum d’utilisateurs Réseau


Seulement si vous avez l’option Réseau de CopyControl

Vous pouvez modifier le nombre maximum d’utilisateur réseau de votre logiciel


en spécifiant une nouvelle valeur. Entrez un nombre compris entre 0 et 999 ou
laissez vide pour ne pas le modifier.

Nombre de Master qu’un Distributeur peut protéger


Master de Distribution seulement

Les Masters de distribution sont autorisés à produire un nombre limité de


Master de protection disquette. Il est possible d’ajouter de nouveaux droits de
création de Master de protection disquette. Entrez un nombre compris entre 0 et
65,535 ou laissez vide pour ne pas le modifier..

8-4 • Changer les paramètres à distance.


Exécution depuis le Master
Protection disquette et Master de distribution seulement

Choisissez Oui ou Non ou laissez vide pour ne pas effectuer de modification.

Nouveau Numéro de Série


Pour les utilisateurs de versions supérieurs à 1.72 seulement

Vous avez la possibilité de modifier le numéro de série de la protection


utilisateur. Cela peut être particulièrement intéressant dans le cas de protection
Unlock-It car dans ce cas un numéro de série aléatoire est généré à l’installation
du jeton. Si vous désirez indiquer un numéro de série différent vous pouvez
saisir une nouvelle valeur comprise entre 1 et 2,147,483,647 (65,535 pour les
utilisateurs de versions 1.72) ou bien laisser vide pour ne pas effectuer de
modification.
Vous pouvez également modifier le numéro de série d’un Master de protection
disquette, d’un Master de distribution, ou d’un jeton Unlock-It activé. Vous
pouvez modifier le numéro de série uniquement si vous avez utilisé la protection
Unlock-It ou le mode de protection Global. Dans les autres cas vous allez
obtenir un message d’erreur –26 : Mauvais numéro de série.
Sur un Master de distribution, si vous modifiez le numéro de série à la
prochaine création de disquette Master le nouveau numéro de série sera pris en
compte et il sera alors incrémenté de 1.

Message Sécurisé
Si vous choisissez cette fonction vous devez faire attention car le code de retour
peut être très long. Si vous désirez insérer un caractère nul dans le message
vous devez utiliser ~Z. Cela peut être utile si vous souhaitez utiliser l’espace
restant après le message pour stocker d’autres informations (voir "Fonction 1"
page 14-5).

Nom de Fichier
Entrez le nom du fichier pour lequel vous souhaitez effectuer des modifications
de paramétrage. Il n’est pas nécessaire d’indiquer le chemin complet seul le
nom du fichier doit être inscrit. Attention cependant le fait de préciser le nom de
fichier rallonge de façon importante le code de mise à jour. Pour conserver un
code court vous pouvez indiquer *.* si possible. Il est également possible
d’indiquer le numéro de position du fichier (La valeur peut être comprise entre 0
et 9) le premier fichier de la liste porte le numéro 0 et ainsi de suite.

Ajouter des Exécutions


Pour modifier le nombre d’exécutions autorisées de votre programme vous
pouvez saisir une valeur de -2,147,483,646 à 2,147,483,647.
Note : vous incrémentez ou décrémentez le nombre d’exécution que vous avez
autorisées. Le nombre d’exécution est quant à lui une valeur comprise entre 0
et 2,147,483,647. CCChange retourne une erreur si le nombre d’exécutions
supplémentaires additionné au nombre d’exécutions restantes dépasse la
valeur maximum. La limite maximum pour les versions antérieures à la version
2.00 est de 32,767.
Si vous ajoutez un nombre d’exécutions à une protection pour laquelle vous
avez indiqué dans la case exécutions/copie la valeur ‘illimité’ le nombre
d’exécutions reste inchangé.

Changer les paramètres à distance. • 8-5


Initialiser Exécutions/Copie
Pour une protection disquette vous pouvez disposer de plusieurs jetons par
disquette Master. Ce champ vous permet de préciser le nombre d’exécutions de
votre logiciel par jeton (par copie). Chaque jeton peut être transféré avec
CCMove. Si vous indiquez ‘illimité’ il n’y a pas de restriction. Toutes les autres
valeurs initialisent le système de décompte d’exécution par copie.
Pour une protection Unlock-It déjà installée, il n’est pas possible d’utiliser cette
option. Si la valeur est ‘illimité’ il n’est possible de modifier le nombre
d’exécutions/copie.
Choisissez ‘illimité’ ou un nombre entre 0 et 2,147,483,647 (0 et32,767 pour les
versions antérieures à la version 2.00). Laissez vide pour ne pas effectuer de
modification. Indiquez un nombre limite d’exécutions par copie n’est pas
possible si vous n’initialisez pas en même temps le nombre d’exécutions
allouées.

Date limite
Pour modifier la date limite d’utilisation de votre application vous pouvez
indiquer ici une date au format standard de Windows ou faire un double clic
pour obtenir le calendrier. Laissez vide pour ne pas effectuer de modification.

Initialiser Nombre de jours Max


Vous pouvez fixer un nombre de jours maximum où votre application pourra
fonctionner. Passé cette valeur limite le programme ne pourra plus être lancé.
Pour modifier cette valeur indiquer un nombre entre 0 (expiration immédiate) et
65,535. Laissez vide pour ne pas modifier cette valeur.
Pour le mode de protection Unlock-It le nombre de jours d’utilisation démarre à
partir du jour d’activation de la protection. Pour le mode de protection disquette
le nombre de jours d’utilisation démarre à partir de l’installation (CCMove) de
votre jeton de protection.

Mot de Fonctions
Entrez une nouvelle valeur ou laissez vide pour ne pas effectuer de
modification. Vous pouvez saisir un nombre décimal, hexadécimal ou binaire.
Pour choisir le mode d’utilisation cliquez avec le bouton droit de la souris dans
la zone ‘Fonctions’. Les valeurs peuvent être comprises entre 0 et
4,294,967,295 (ffffffff hexadécimal). Les utilisateurs des versions antérieures à
la version 2.00 sont limités à un maximum de 65,535 (ffff hexadécimal).

Options avancées
Nom du fichier de sauvegarde: Cette fonction vous permet de modifier le nom
du fichier de sauvegarde réalisé lors de la création d’un nouveau code de mise
à jour. Ce fichier mémorise les modifications effectuées ainsi que le code de
mise à jour. Voir « Afficher le code de mise à jour ». Le nom de fichier par
défaut est CCREMOTE.DAT.
Nouveau Fichier de sauvegarde: Par défaut à chaque nouveau calcul de code
de mise à jour le fichier CCREMODE.DAT est écrasé. Pour ne plus écraser les
sauvegardes et garder un historique complet des modifications effectuées vous
devez cocher cette option ainsi à chaque nouveau code correspondra un fichier
unique.
Prochain numéro de mise à jour : vous pouvez modifier la valeur du numéro
de mise à jour de la protection cela peut vous permettre d’identifier deux
protections identiques installées chez un même client.

8-6 • Changer les paramètres à distance.


Afficher le code de mise à jour
Une fois le choix des modifications effectué il ne vous reste plus qu’a cliquer sur
le bouton ‘Afficher le code de mise à jour’. Le résumé des modifications ainsi
que le code de mise à jour apparaît à l’écran. Vous pouvez alors communiquer
ce code à votre client pour qu’il le saisisse dans CCChange. Pour une plus
grande efficacité il est possible de Copier/Coller ce code.
En plus de ce code, CCRemote affiche un code de Confirmation celui-ci doit
correspondre avec celui fourni par CCChange une fois le code de mise à jour
saisi et validé. Cela vous permet de vérifier le bon fonctionnement de la mise à
jour. Le code de confirmation CCChange inclus également le nombre de jetons
contenu sur le disque Master. Vous pouvez ainsi vérifier si l’utilisateur a bien
rapatrié tous ses jetons avant l’exécution de CCChange. Voir CCChange pour
plus de détails.
Pour votre confort la liste des modifications effectuées est mémorisée dans le
fichier CCREMOTE.DAT. (sauf si vous indiquez un nom de fichier différent dans
les options avancées).

CCChange
CCChange est l’utilitaire qui permet au client de saisir le code de mise à jour
que vous avez calculé grâce à CCRemote. Il permet aussi au client de déplacer
seul une protection Unlock-It d’une machine vers une autre.
Note CCChange fonctionne seulement pour les protections Unlock-It, les Master
disquette, ou les Master de distribution. Si vous devez effectuer des
modifications sur des jetons de type protection disquette installés sur différentes
machines il est important de bien indiquer au client qu’il est impératif de
rapatrier tous les jetons de la disquette Master avant de réaliser la mise à jour
en entrant le code dans CCChange.
Si vous désirez effectuer des modifications sur un jeton Unlock-It inactif vous
devez également cocher l’option Activer jeton Unlock-It.
Trois versions de CCChange sont disponibles: CCCHANGE.EXE pour Windows
et DOS, CCCHANGE.DLL pour vos applications 16-bit Windows et
CCCHNG32.DLL pour vos logiciels 32-bit Windows. Les différentes versions de
CCChange dans différents langages sont disponibles dans le répertoire
CopyControl ou sur le CD-Rom d’installation (également disponible sur notre
site http://www.aplika.fr).
Note: La version de CCChange qui est utilisée doit correspondre à la version
CopyControl utilisée pour la création du jeton. (ex : une modification d’un jeton
1.72 est possible avec CCRemote 3.01 et CCChange 1.72).

CCCHANGE.EXE
En général, CCChange nécessite seulement deux informations : le chemin de la
protection et le code de mise à jour généré par CCRemote. Lorsque l’utilisateur
démarre CCChange il peut saisir ces deux informations.
Après avoir saisi les valeurs appropriées cliquez sur ‘Mettre à jour’ pour valider
les modifications. Si CCChange échoue lors de la mise à jour des paramètres il
affiche un message d’erreur. Si il réussit il affiche un code de confirmation.
Si le code de confirmation est issu d’un Master de type Protection disquette le
code est de la forme N/(C+N) où C est le code de confirmation d’origine et N le
nombre de jetons présents sur le disque lors de la mise à jour.

Changer les paramètres à distance. • 8-7


Obtenir les Informations
Si vous ne connaissez pas le numéro de série, la version de CopyControl ainsi
que le code Produit de la protection, vous pouvez obtenir ces informations en
cliquant ici. Les paramètres nécessaires à CCRemote sont affichés à l’écran.

Avancées
Spécifier le code Produit. Il est possible pour un utilisateur de disposer de
plusieurs protections de type Unlock-It installées dans le même répertoire. Dans
ce cas il est important de bien indiquer le code produit de la protection sur
laquelle on désire opérer une modification. Cela permet d’identifier la bonne
protection. Si une seule protection est dans ce répertoire il n’est pas nécessaire
d’indiquer le code produit.
Ré-installation Try-It. Cette possibilité est uniquement disponible si vous avez
coché la case autoriser une ré-installation Try-It dans CCRemote. De cette
façon l’ancien jeton Try-It est effacé et permet la ré-installation correcte d’une
nouvelle protection Try-It. Si le jeton Try-It n’a pas été effacé par l’utilisateur il
suffit de cocher l’option autoriser ré-installation Try-It dans CCRemote et de
rentrer le code généré. Il n’est pas nécessaire de suivre cette section. Si le jeton
Try-It a été partiellement supprimé il est important de récupérer plus
d’informations pour permettre d’effacer correctement les marques du jeton Try-It
et ainsi permettre la ré-installation. Il est assez compliqué d’obtenir ces
informations la meilleur solution est de :
• Demander au client de démarrer CCChange et de cliquer sur le bouton
‘Avancés’. Demander de saisir le code produit, le numéro de série
CopyControl et de cliquer sur ’Obtenir le numéro de série de ré-
installation Try-It. Vous trouverez le numéro de série CopyControl dans
Aide|Apropos dans la plate-forme du développeur.
• Démarrer CCRemote et entrer le code produit pour ce logiciel. Entrer
dans le numéro de série du jeton le numéro fournis par la fonction
‘Obtenir le numéro de série de désinstallation Try-It’. Indiquer le numéro
de mise à jour qui dans ce cas est toujours 1. Cocher la case Autoriser
une ré-installation Try-It puis générer le code.
• Demander au client de démarrer CCChange en indiquant le chemin de
la protection puis de saisir le code de mise à jour et de valider.
Cette technique est seulement possible avec la version CCChange.exe sous
Windows. Le plus simple étant que le client ne supprime pas le jeton Try-It
avant une ré-installation.
Obtenir le code de mise à jour depuis un fichier. Au lieu de saisir
manuellement le code de mise à jour de la protection il est possible de le lire
directement depuis un fichier. Cela est très utile si vous utilisez un code très
long et si par exemple vous l’expédiez par Email. Il suffit simplement d’indiquer
le chemin du répertoire dans lequel se trouve le fichier contenant le code. Le
fichier doit être au format ASCII Il est possible de Copier/Coller ce code depuis
CCREmote vers le Notepad par exemple.
Déplacer une protection Unlock-It Activer. CCChange peut être utilisé avec
CCMove pour permettre au client de transférer son jeton Unlock-It d’une
machine vers une autre. (voir "Déplacer une protection Unlock-It installée" on
page 7-2). Cochez cette case pour obtenir le code d’installation de la nouvelle
installation (Si cela réussit correctement vous obtenez alors le code
d’installation de la nouvelle protection et l’ancien jeton Unlock-It est supprimé.
Supprimer une installation Unlock-It. Cocher cette case pour supprimer une
protection Unlock-It. Si vous choisissez cette option il vous suffit de saisir le
chemin de la protection et éventuellement de préciser le code produit. Après
avoir supprimé le jeton Unlock-It CCChange affiche un code de confirmation
que vous pouvez comparer avec celui fourni par CCRemote. La fonction
désactive la protection Unlock-It ainsi vous ne pouvez plus accéder à votre
logiciel protégé.

8-8 • Changer les paramètres à distance.


CCCHANGE.DLL
CCCHANGE.DLL est fourni pour que vous puissiez intégrer la fonction
CCChange directement à vos applicatifs Windows. Deux versions sont
disponibles CCCHANGE.DLL pour vos applicatifs 16-bit et CCCHNG32.DLL
pour vos applicatifs 32-bit. Les deux DLL font appel à la même fonction
CCCHANGE_SCO. C’est la fonction similaire à la fonction CCMOVE_SDO pour
CCMove. La syntaxe de CCCHANGE_SCO est:
CCCHANGE_SCO( source, code, options, buffer, buffer_taille )
ou:
• source est un pointeur de type far la lettre de l’unité contenant la
disquette Master ou bien un pointeur de type far contenant le chemin
complet d’une protection Unlock-It ou Try-It installée. Les noms longs
sont gérés par CCCHNG32.DLL.
• code est un pointeur de type far contenant le code de mise à
jour généré par CCRemote. Les espaces sont autorisés. Si le code
n’est pas nécessaire il faut mettre NULL.
• options est un pointeur de type far contenant une chaîne avec la
liste des options utilisées séparées par des espaces. Entrer NULL si
aucune option n’est nécessaire. La liste des options est décrite ci-après.
• buffer est un pointeur de type far vers un bloc mémoire de votre
application. Si vous le désirez CCCHANGE_SDO peut retourner le
numéro de version CopyControl, le code produit, le prochain numéro de
mise à jour, et tout le message CCChange. Si vous n’avez pas besoin
de ces informations vous devez placer NULL. La structure du buffer est
indiquée dans "Structures CCMove et CCChange" page 13-5.
• buffer_taille c’est la taille du buffer. C’est un entier court. Vous pouvez
le positionner à 0 si vous n’utilisez pas le buffer.
CCCHANGE_SCO retourne un code d’erreur sous forme d’entier long (0 = pas
d’erreur). Voir "Codes d’erreurs CCChange" page 19-12 pour consulter la liste
des codes d’erreur.
Si l’option est placée à NULL les codes d’erreurs sont affichés dans une boîte
de dialogue si il y a lieu. Par contre il n’y a pas de message si CCChange
réussit. Les options suivantes peuvent être utilisées:
• /Q Aucun message affiché.
• /I Obtenir les informations CCChange (version, code
produit, numéro de série et de mise à jour) sans aucune modification.
• /Pcode_produit permet de préciser le code produit de la protection
(Unlock-It et Try-It seulement).
• /Fnom_entrée Accepte un fichier en entrée. Ce fichier doit contenir le
code CCRemote dans la limite de1024 caractères. Nom_entrée peut
être le nom du fichier seul ou le nom et le chemin complet (pas de nom
long). Le fichier doit être au format ASCII.
• /U Supprime une installation Unlock-It installée. Voir
"Avancées" page 8-8. Indiquer NULL pour le code de mise à jour si
vous utilisez cette option.
• /Snuméro_série Supprime une installation Unlock-It installée et génére
un code d’installation Unlock-It pour une nouvelle protection avec le
numéro de série numéro_série. Voir "Déplacer une protection Unlock-It
installée" page 7-2 pour plus de détails. Indiquer NULL dans le code de
mise à jour si vous utilisez cette option.
• /Cnom_sortie Ne peut être utilisé qu’avec l’option /S. Le code
d’activation de la nouvelle protection est placé dans le fichier indiqué
dans nom_sortie en plus d’être indiqué dans le buffer (si le buffer est
utilisé). Nom_sortie peut être le nom du fichier seul ou le nom et le
chemin complet (pas de nom long).

Changer les paramètres à distance. • 8-9


Si vous modifiez une protection Unlock-It installée vous devez utiliser l’option /P
si plusieurs protections Unlock-It sont placées dans le répertoire de protection.
Les options /U et /S sont utilisées pour supprimer ou déplacer une protection
Unlock-It installée. Ces options ne nécessitent pas de code de mise à jour.
Si buffer_taille est à 0 alors CCChange affiche les messages si l’option /Q n’est
pas utilisée. Si buffer_taille est différente de 0 les messages seront stockés
dans le buffer et ne seront pas affichés
Un code d’exemple d’utilisation de CCCHANGE_SDO est disponible dans le
répertoire SAMPLES de CopyControl.

8-10 • Changer les paramètres à distance.


CCLook

CCLook
CCLook permet de vérifier le statut de chaque protection. Cet utilitaire permet
de déterminer si un disque est protégé ou pas. Cela permet aussi d’afficher la
totalité des paramètres de protection pour chaque programme protégé. Une
protection de type 'upgrade' 'global' ne permet pas l’affichage de tous les
paramètres.
Cela permet également d’obtenir un diagnostique complet d’une protection chez
un client. Cela permet de vérifier la présence d’une protection ou de vérifier son
bon fonctionnement. Cela nous permet en cas de problème de repérer plus
facilement les erreurs et ainsi d’effectuer un dépannage rapide. Nous
recommandons fortement d’inclure ce logiciel dans votre installation.
Vous pouvez lancer CCLook comme un programme autonome ou depuis la
plate-forme CopyControl du développeur. Il existe également une version DOS
de CCLook.
Si CCLook est démarré depuis la plate-forme du développeur il va rechercher
les protections dans le répertoire d’installation de CopyControl. Si vous
démarrez CCLook de manière autonome il vous sera demandé de saisir le
chemin de recherche de votre protection. Vous pouvez également demander à
CCLook d’effectuer une recherche en indiquant un disque pour cela cliquez sur
Recherche sur tout le disque.

Boîte de dialogue CCLook demandant le chemin de recherche.

CCLook va alors rechercher la liste de tous les produits présents dans le


répertoire et afficher la liste en haut de l’écran. Les paramètres de protection du
premier produit listé sont affichés dans CCLook. Si plusieurs produits sont
trouvés vous pouvez les sélectionner en cliquant dessus ou en utilisant les
touches flèches en bas et flèches en haut.

CCLook • 9-1
Ecran principal de CCLook montrant les détails de protection pour le code produit
CCONTROL

Vous pouvez sauvegarder toutes les informations affichées en sélectionnant


Fichier|Enregistrer. Vous pouvez les réouvrir plus tard en sélectionnant
Fichier|Ouvrir. Cela est particulièrement utile si vous désirez qu’un utilisateur
vous envoi les informations issues d’un CCLook. Vous pouvez demander au
client de démarrer CCLook, de sauvegarder les paramètres et de vous envoyer
le fichier par Email. Il ne vous reste plus qu’a charger le fichier ainsi reçu dans
votre CCLook. Cela est beaucoup plus pratique pour s’assurer de l’état de la
protection.
En ce qui concerne la propre protection de CopyControl vous disposez pour
CCAdd, la valeur Exécutions restantes qui correspond au nombre de fois que
vous pourrez utiliser CCADD pour poser une protection (Pour une version
standard disquette vous avez ici la valeur ‘illimité’). Pour CCRemote, la valeur
Exécutions restantes permet de visualiser le nombre de droits d’activation de
jeton Unlock-It restant.
CCLook peut trouver les protections issues de différentes versions de
CopyControl sur un disque dur.

9-2 • CCLook
KeyCall

Aperçu Rapide
Le système KeyCall est conçu pour automatiser l’activation de vos protections
Unlock-It en utilisant Internet ou bien le téléphone. Pour Internet le système
utilisé est KeyCall Internet et pour le téléphone KeyCall Téléphone.
La création de vos protections Unlock-It est identique à une utilisation classique
du mode d’activation. L’utilisateur final pourra de toutes façons selon les outils
que vous mettrez à sa disposition activer sa protection de manière classique et
également grâce au module KeyCall. Simplement avec le mode KeyCall le
client n’a plus la nécessité de vous contacter pour activer sa protection il peut
l’obtenir automatiquement par téléphone ou par Internet.
Vous devez dans un premier temps fournir au client un code d’accès au service
d’activation KeyCall (Customer ID)(ce code est fourni par APLIKA). A
l’installation de la protection le client récupère le numéro de série du jeton
Unlock-It, ainsi il ne reste plus qu’à soumettre au système KeyCall le code
d’accès au service KeyCall et le numéro de série du jeton Unlock-It, si les
paramètres sont corrects le code d’activation final est retourné par le système.
L’identifiant client (Customer Id) distribué par APLIKA est disponible sous deux
formes différentes: alphanumérique (9 caractères) et numérique (18 chiffres). Le
code alphanumérique est utilisé pour KeyCall Internet et l’autre pour KeyCall
Téléphone.
Vous pouvez vous procurer des codes d’accès KeyCall spéciaux qui permettent
d’activer un nombre illimité de version Unlock-It. Cela est très utile dans le cas
de versions de démonstration protégées. Mais dans ce cas nous vous
conseillons plutôt d’utiliser le mode de protection Try-It (Voir " Try-It ou
Disquette" page 4-1).
Vous pouvez également utiliser KeyCall avec un système de paiement sécurisé
en ligne. Ainsi il est possible d’activer la protection après avoir reçu la
confirmation du paiement.

KeyCall Internet
KeyCall Internet permet à votre client d’activer sa protection Unlock-It en
accédant simplement à Internet. Normalement il est possible d’intégrer l’accès
web au service d’activation KeyCall Internet à votre programme d’installation
sans utiliser de navigateur Internet cela rend l’étape d’activation transparente
pour l’utilisateur.
Il est également possible d’accéder directement au service KeyCall à l’adresse
http://www.aplika.fr/activate.htm, Une page demandant la saisie du code
d’accès au service KeyCall et le numéro de série de la protection apparaît à
l’écran. Une fois les informations saisies il suffit de valider le système et vérifier
la validité des deux codes et retourne le code d’activation final. Un seul code
d’activation est délivré par identifiant client.
Vous pouvez accéder directement au service d’activation KeyCall en utilisant
KeyCall.Dll (DLL 32-bit). La syntaxe pour utiliser cette fonction est:

KeyCall • 10-1
KeyCall (CustomerID, InstalledSN, buffer, buffer_taille)
ou:
• CustomerID est un pointeur vers une chaîne contenant l’identifiant
client.
• InstalledSN est le numéro de série de la protection que l’on désire
activer. C’est un entier long (4 octets).
• buffer est un pointeur de type far vers un bloc mémoire.
KeyCall place dans ce buffer le code d’activation retourné ou les
messages d’erreur.
• buffer_taille c’est la taille déclarée du buffer. C’est un entier long (4
octets).
KeyCall retourne un code d’erreur au format entier long (0 = réussite). Voir
"Codes d’erreurs KeyCall" page 19-15 pour consulter la liste des erreurs
possibles.
Si vous désirez créer votre propre page Web d’activation en ligne vous pouvez
consulter la page HTML http://www.aplika.fr/activate.htm pour recopier la
construction de la page.
Note : vous devrez réaliser quelques liens vers le site Microcosm pour les
fonctions situées en tâche de fond.
NB Si vous utilisez la DLL KeyCall la connection au site Microcosm n’est jamais
affichée.

KeyCall Téléphone
Pour vos clients ne possédant pas d’accès Internet il est possible de procéder à
une activation par système téléphonique.
KeyCall Téléphone fonctionne selon le même principe que KeyCall Internet à la
seule différence que le client doit utiliser sont téléphone au lieu de son
navigateur. Il suffit au client de composer le numéro de téléphone du service
KeyCall Internet puis de saisir le code (18 chiffres) d’accès au service client
d’activation KeyCall téléphone Ensuite le système vous demande de saisir le
numéro de série de l’installation en cours puis vous délivre par synthèse vocale
le code d’activation final.
Le serveur KeyCall Téléphone peut être installé chez vous ou chez APLIKA. Ce
dernier est alors accessible en permanence (24/24). Le serveur vocal de
Microcosm est accessible au numéro +44 117 962 4171.
Après avoir exécuté CCMove, vous affichez à l’utilisateur le numéro de série
ainsi que le numéro de téléphone du service d’activation KeyCall. Le client n’a
plus qu’à contacter le service téléphonique KeyCall, indiquer les codes qui lui
ont été fournis (code d’accès au service + numéro de série de l’installation il
obtient en retour le code d’activation final de son produit qu’il n’a plus qu’à saisir
dans CCChange.

Paramétrage de KeyCall
APLIKA a besoin de connaître au préalable quel système vous souhaitez utiliser
pour vous fournir une liste de code d’accès au service KeyCall que vous devrez
ensuite distribuer à vos clients. APLIKA vous fourni une liste de codes d’accès
unique au service KeyCall. Nous vous conseillons pour distribuer les codes à
vos clients finaux d’associer un code d’accès KeyCall à chaque copie de CD-
ROM distribuée.
Le code d’activation CCRemote fourni par le service KeyCall permet l’activation
du jeton Unlock-It mais peut également permettre de modifier certains

10-2 • KeyCall
paramètres de protection. Pour cela il suffit de demander à APLIKA de placer
un fichier CCR spécifique qui sera utilisé lors de la génération du code (voir
"CCRB Structure" page 13-6) Le principe de fonctionnement de ce fichier est
repris dans "Changer les paramètres à distance." page 8-1).

KeyCall • 10-3
Paramétrage KeyCall avec un système de
paiement sécurisé
Vous pouvez utiliser KeyCall en addition avec un système Online de paiement
électronique. Le code d’activation peut être délivré après l’obtention du
récépissé de confirmation de paiement. Si KeyCall est utilisé de cette façon il
n’est pas nécessaire de fournir un code d’accès au service d’activation KeyCall,
c’est l’acceptation du paiement qui autorise l’accès à ce service.
Votre site Internet contient dans ce cas un lien sécurisé vers un système
indépendant de paiement sécurisé. Le client est dirigé vers le système de
paiement pour procéder à la transaction et retourne un code d’autorisation
Merchant ID. Ce code permet au système KeyCall d’accepter la transaction et
éventuellement de récupérer le numéro de série de l’installation. KeyCall, après
avoir vérifié la validité des paramètres qui lui sont passés, va retourner soit un
message d’erreur soit le code d’activation final si la transaction est autorisée.
Si le numéro de série de l’installation n’est pas fourni par le client au moment du
paiement ce dernier recevra un identifiant client qui lui permettra de se
connecter ultérieurement au service d’activation KeyCall Internet.
Veuillez nous contacter pour plus d’information.

10-4 • KeyCall
Réseau

Aperçu Rapide
L’utilisation d’un programme protégé sur un réseau est similaire à l’emploi d’un
système de protection monoposte. Si vous avez choisi l’option réseau de
CopyControl, vous avez la possibilité supplémentaire de fixer un nombre
maximum d’utilisateurs réseau simultanés de votre programme sur un réseau.
Sans cette option réseau tous les utilisateurs qui peuvent accéder au répertoire
d’installation de votre programme peuvent utiliser votre logiciel (il n’y a pas dans
ce cas de controle sur le nombre d’accès simultanés).
La seule fonctionnalité supplémentaire de l’option réseau est la gestion des
droits d’accès a votre programme protégé. Pour accéder à votre protection via
le réseau il est nécessaire d’autoriser les droits d’accès suivants au répertoire
de protection (Lecture/Ecriture/Création/Modification d’attributs fichiers). Au
démarrage si vous avez restreint le nombre d’utilisateurs simultanés du réseau
il est nécessaire d’avoir accordé les droits de Lecture/Ecriture/Création au
répertoire caché contenant la protection et ceux pour les utilisateurs du réseau.
Si en plus de la limitation du nombre simultané d’utilisateurs réseau vous
désirez indiquer une date limite d’utilisation vous devez accorder les droits de
lecture/ecriture/creation/suppression/modification_des_attributs_des_fichiers.
Dans les autres cas il suffit d’un accès en lecture seule.

Réseaux compatibles
Normalement la plupart des réseaux sont compatibles CopyControl, si cela
n’était pas le cas n’hésitez pas à nous contacter.
CopyControl à déjà été validé avec les réseaux listés ci-dessous :
• Novell (Netware versions 2.0 à 5.0).
• Novell Lite.
• Microsoft Windows Network (Windows pour WorkGroups, Windows 95,
Windows 98, Windows Millennium, Windows NT).
• PC LAN Manager.
• MSNET.
• Interlink.
• PC Network.
• Banyan Vines.
• LANtastic.
• Amstrad Network.
• PCSA.
• PC-NFS.
• AS400 avec PC Support.
• Laplink.
• Brooklyn Bridge.

Réseau • 11-1
• Fastlynx.
• HP95 DOS Connect.
• PCTCP.
Les autres réseaux peuvent être compatibles mais n’ont pas été testés par
Microcosm.

Utilisateurs Réseaux Simultanés


Si vous avez acheté l’option réseau de CopyControl, vous pouvez fixer un
nombre limite d’utilisateurs réseaux simultanés pour votre logiciel. Dans la
plupart des cas la seule modification necessaire est d’indiquer une valeur dans
CCAdd pour limiter le nombre d’utilisateurs réseau simultané (voir "Nombre
Maximum d’Utilisateurs Réseau" page 6-4).
Le système de protection incrémente le nombre d’utilisateurs présent sur le
réseau au fur et à mesure que les utilisateurs vont lancer votre programme. De
la même façon, lorsqu’il quitteront votre logiciel, le décompte sera effectué.
Dans le cas d’un arrêt intempestif de la machine d’un utilisateur la libération du
droit d’utilisation réseau peut prendre quelques minutes.
Pour les programmes protégés en méthode Shell le système incrémente le
compteur du nombre d’utilisateurs réseau à chaque fois qu’un utilisateur lance
votre programme. Pour les autres méthodes c’est l’appel à la fonction 0 qui
décompte un droit d’utilisation réseau. Le compteur des utilisateurs réseau est
décrémenté systématiquement quand le programme est fermé (méthode Shell
ou autres). Cependant il peut arriver dans certaines circonstances qu’il soit
nécessaire de forcer la fermeture de la session réseau d’un utilisateur, pour ce
faire, il faut utiliser la fonction 6.
Cette manipulation doit être effectuée dans les cas suivants :
• Vous désirez simplement limiter le nombre d’utilisateurs réseau sur une
partie de votre logiciel.
• Votre programme se termine sous DOS et laisse fonctionner un
programme résident (TSR).
• Vous utilisez une méthode de protection externe avec un logiciel factice
DOS.
• Les programmes en GWBASIC ou chaîné à des programmes
GWBASIC.

Utiliser la Fonction 6 pour fermer une session


utilisateur réseau
La fonction 6 permet de décrémenter le compteur des utilisateurs réseau. Elle
doit être appelée uniquement si la fonction 0 à été appelée au préalable pour
incrémenter l’utilisateur réseau.
Vous devez demander à CopyControl de fermer la session utilisateur réseau.
Pour cela il suffit d’appeler la fonction 6 avant la fermeture définitive de
l’application. Par exemple, vous désirez limiter le nombre d’utilisateur réseau
sur une partie de votre logiciel. La procédure est:
• Appel de la fonction 0 pour démarrer la session utilisateur.
• Sauvegarder les informations réseau du CCMB
(données_utilisateur_réseau).
• Appel de la fonction 6 pour terminer la session utilisateur en réutilisant
la valeur réseau stocker précédemment dans le CCMB.
Pour les applications DOS la seule façon de terminer une session utilisateur
réseau est d’appeler la fonction 6. Pour cela il faut suivre la même procédure et
placer le bit 1 du flag1 à 1 pour l’appel de la fonction 0. Vous devez utiliser cette

11-2 • Réseau
méthode pour les résidents de type DOS (CopyControl ne peut déceler la
fermeture d’un résident DOS(TSR). Cette méthode peut également être utilisée
pour les applications GWBASIC.
Si vous utilisez la méthode externe de protection avec un programme DOS vous
ne pouvez pas mémoriser le champ données_utilisateur_réseau. Dans ce cas il
faut placer le bit 0 de flag1 à 1 en plus du bit1. Cela permet d’indiquer à
CopyControl qu’il ne doit pas attendre le champ données_utilsateurs_réseaux
en argument de la fonction 6.

Réseau • 11-3
Date d’expiration et Nb jours Max
Lorsque vous indiquez une date limite d’utilisation ou un nombre de jours
maximum d’utilisation de votre application CopyControl, vérifiez l’heure et la
date courante par rapport à la dernière date d’utilisation du programme. Si votre
application est démarrée sur deux machines différentes il se peut que les
horloges soit mal synchronisées et que CopyControl refuse de lancer votre
programme. Par défaut un battement de 10 minutes est autorisé par
CopyControl.. Vous pouvez indiquer votre propre valeur dans CCAdd dans les
options avancées (voir "Options Avancées" page 6-7).
La plus part des réseaux disposent de fonctions pour synchroniser les horloges
lors de la connection d’un poste utilisateur ou serveur. Nous recommandons
l’utilisation de ces fonctions.

Déplacer un droit d’utilisation réseau sur


un mono poste non connecté
Si vous avez limité le nombre d’utilisateurs réseau de votre application il vous
est possible d’autoriser vos clients à transférer de manière temporaire un droit
d’utilisation réseau vers un mono poste non connecté au réseau (portable par
exemple), ainsi il vous est possible d’utiliser votre application sans connexion au
réseau. Cela revient en fait à convertir de façon temporaire un droit d’utilisation
réseau en jeton simple utilisateur. Pour cela il faut utiliser le logiciel CCEXNET.
CCEXNET décrémentes le nombre maximum d’utilisateurs réseau et crée un
jeton simple utilisateur. Si vous l’utilisez à l’inverse il détruit le jeton simple
utilisateur et incrémente le nombre d’utilisateur maximum réseau. Le principe de
fonctionnement est similaire à celui de CCMove.
Trois versions de CCEXNET sont disponibles: CCEXNET.EXE pour DOS ,
CCEXNET.DLL (16-bit) et CCEXNT32.DLL (32-bit) pour Windows.
Vous devez d’abord protéger CCEXNET pour une utilisation correcte.
Lorsque vous démarrez CCADD pour protéger vos programmes il vous suffit
d’ajouter CCEXNET.EXE ou CCEXNET.DLL ou CCEXNT32.DLL à la liste des
programmes à protéger pour cela il faut utiliser la méthode de protection Objet.
CCEXNET peut fonctionner depuis un portable ou un poste serveur
La syntaxe d’utilisation de CCEXNET.EXE est:
CCEXNET <Chemin Source> <Chemin destination> [options]
Par exemple:
CEXNET N:\ADIR P:\BDIR /M
La ligne de commande options peut contenir :
• /Dnomfichier Ecrit tous les écrans du programme dans le fichier
(DOS seulement).
• /E Affiche les messages d’erreurs.
• /L Affiche les messages de confirmation CCEXNET.
• /M Affiche les autres messages.
• /P Invite l’utilisateur à frapper une touche avant le transfert
(DOS seulement).
• /Q Supprime l’affichage de tous les messages.
• /X Affiche un diagnostique d’information. Si vous avez des
problèmes d’utilisation de CCEXNET vous pourrez nous

11-4 • Réseau
contacter en nous indiquant le résultat de CCEXNET
avec cette option.
Si vous utilisez CCEXNET.DLL ou CCEXNT32.DLL depuis votre application
Windows vous devez faire appel à la fonction CCEXNET_SDO. Cette fonction
est similaire à la fonction CCMOVE_SDO pour CCMove. La syntaxe
d’utilisation de cette fonction est :
CCEXNET_SDO (source, destination, options, buffer, buffer_taille)
Où source, destination et options sont des pointeurs de type far. Si vous
utilisez CCEXNT32.DLL le chemin source et destination peut contenir des noms
longs incluant les espaces.
Buffer est un pointeur de type far vers un bloc mémoire de votre application la
taille de ce buffer doit être indiquée dans buffer_taille. La structure de ce bloc
mémoire est décrite dans "Structures CCMove et CCChange" page 13-5. C’est
la même structure que celle utilisée pour la fonction CCMOVE_SDO (voir
"Utiliser CCMOVE.DLL" page 7-5).
Attention certaines restrictions sont à prendre en compte:
• Vous pouvez seulement déplacer un droit d’utilisation réseau depuis
une protection installée sur le réseau, la protection doit contenir un
nombre maximum d’utilisateurs réseau simultanés.
• Le nombre maximum d’utilisateurs réseau simultanés ne doit pas être
égal à 0.
• Il doit au moins rester un droit d’utilisation réseau disponible.
• Vous pouvez seulement utiliser CCEXNET si le programme protégé
contient un nombre limite d’utilisateurs réseau.

Réseau • 11-5
Versions MSDOS

Aperçu Rapide
La partie principale de ce manuel décrit le fonctionnement de la version 32_bit
de CopyControl. Une version DOS de CopyControl est également disponible
(dans le répertoire CopyControl DOSONLY) les fonctions sont compatibles DOS
et Windows (Démarrer sous Windows ou sous DOS). La version DOS
fonctionne seulement si vous utilisez une version Windows inférieure à
Windows 3.x.
Les fonctions DOS sont similaires aux fonctions Windows 32-bit parfois leur
apparence peut être différente. Cette section décrit les quelques différences
concernant les applications CopyControl, CCADD.EXE, CCREMOTE.EXE,
CCCHANGE.EXE, CCMOVE.EXE et CCLOOK.EXE.
Pour chaque programme, nous vous conseillons de vous reporter à la
description de l’application Windows avant de consulter la partie relative à la
version DOS.

Installation
Si vous installez le système CopyControl en utilisant le SETUP.EXE, les deux
versions DOS et Windows des programmes CopyControl sont installées. Si
vous désirez installer seulement la version DOS, vous devez lancer
DOSSETUP depuis votre CD-Rom d’installation CopyControl.

CCADD
Il n’existe pas de version DOS de la plate forme du développeur. Pour ajouter
une protection vous devez utiliser CCADD.EXE. Vous devez juste lancer
CCADD.EXE ou bien indiquer en argument certains paramètres pour le
démarrage de CCADD. La syntaxe est:
CCADD [Nom du fichier de paramètres] [options]
Ou l’option [Nom du fichier de paramètres] est le nom du fichier de type.CCP
contenant les paramétrages de protection à utiliser pour la pose de protection.
Le champ [options] est décrit ci dessous. Il a la particularité de pouvoir faciliter
l’utilisation de CCADD depuis un fichier Batch. Un espace doit être précédé de
/. Chaque valeur doit être indiquée dans la ligne d’option.
/A=n CCADD continue de protéger les disquettes jusqu'à n disquettes (n est
un entier compris entre 1 et 65535) Décompte uniquement les protections
réalisées avec succès (autoloader version seulement).
/B Vous n’êtes pas invité à modifier les paramètres de protection et à
insérer la disquette, et une seule disquette est protégée.
/C=m,n Le nombre actuel et le nombre maximum de jetons doit être indiqué
dans m, Si une valeur est indiquée dans n, le nombre actuel de jetons

Versions MSDOS • 12-1


correspond à n., m et n sont des entiers, leurs valeurs est comprise entre 0 et
65535.
/D=d Cette option vous autorise à indiquer une lettre d’unité de destination du
disque à protéger (d contient la lettre de l’unité).
/E=m-n Un zone de votre application ne doit pas être protégée (en crypté). m
est l’adresse à laquelle CopyControl commence la protection et n l’adresse de
fin de protection les deux valeurs peuvent être indiquées en hexadécimal. Par
exemple /E=1000-1fff. (Programme DOS seulement).
/F=n "Mots de Fonctions" doit être initialisé à n pour tous les programmes
protégés. n peut être compris entre 0 et 65535.
/S=n Le numéro de série de départ n est un entier qui peut être compris
entré 1 et 65535.
/I=m,n Le numéro de série peut être décrémenté de m après chaque n disque
(s) protégé(s) avec succès. La valeur par défaut de m et n est 1.
/NT Le disque Master de protection peut être utilisé sous NT .
Note : Avec CCADD, comme avec les autres programmes CopyControl,
retourne un code d’erreur que vous pouvez tester avec une commande batch
IF ERRORLEVEL. Le code d’erreur retourné correspond à la liste des codes
d’erreur décrite dans "Codes erreurs CCAdd" page 19-7.
Si vous n’indiquez pas de paramètre au démarrage de CCAdd vous pouvez
également indiquer un nom de fichier contenant les paramètres de protection
(fichier .CCP). Ou bien utiliser les options pour créer un nouveau fichier. Utilisez
les touches ↑ et ↓, effectuez votre sélection et appuyer sur Entrer.
CCADD affiche alors la liste courante des paramètres de protection
sélectionnés pour effectuer la création du disque Master de protection. Vous
pouvez effectuer des changements en sélectionnant les rubriques appropriées à
l’aide des touches Tab et Shift-Tab. Pour les configurations autoloader, un
fichier spécifique permet de modifier tous les messages de la même manière
(sélection avec les touches Tab et Shift-Tab puis Enter. Lorsque vous avez
terminé vos choix de configuration de protection vous pouvez sauvegarder votre
ficher de paramétrages (.CCP) en appuyant sur la touche F2 ou sortir avec Esc.
Pour procéder à la pose de protection sur vos disquettes, retournez au premier
champ ("Appuyer sur [Entrer] pour poser la protection") et appuyez sur "Entrer".
Vous êtes alors invité à insérer la disquette qui contient les fichiers à protéger.
Lorsque la disquette est protégée le numéro de série est automatiquement
incrémenté et vous êtes invité à insérer une autre disquette.
Vous pouvez ainsi continuer à protéger des disquettes ou bien sortir avec Esc.
Par défaut CCADD recherche les fichiers à protéger dans le répertoire courant
de la disquette. Contrairement à la version Windows la version DOS ne permet
de spécifier un nom de répertoire. Vous pouvez cependant préparer un fichier
.CCP vous-même puis l’exécuter en mode Batch avec CCADD.exe (/B option).
vous pouvez également déplacer les fichiers protégés après les avoir protégé.
Pour cela utiliser une commande DOS Move ou Rename.
Les nouvelles caractéristiques disponibles depuis la version 2.00 ne sont pas
supportées dans la version DOS. Si vous désirez quand même les utiliser avec
la version DOS il vous faut créer un fichier .CPP que vous exécuterez en mode
Batch (/B option). Parmi ces nouvelles fonctionnalités il y a les numéros de série
32 bit, le mot de fonctions 32-bit et les options de la partie avancées.

CCREMOTE
Il n’y a pas de version DOS de la Plate-Forme du développeur. Pour créer des
codes de changement de paramètre de protection (CCRemote), Pour cela il
vous faut exécuter CCREMOTE.EXE. Vous pouvez lancer CCREMOTE.EXE ou
bien lancer CCREMOTE.EXE avec les options décrites ci-dessous. La syntaxe
d’utilisation est la suivante:

12-2 • Versions MSDOS


CCREMOTE [options]
Où [options] est une combinaison des valeurs suivantes:
/n Valeur par défaut pour les versions les plus anciennes
n=1 pour les versions 1.30 ou inférieur.
n=2 pour les versions 1.31 à 1.49.
n=3 pour les versions 1.50 à 1.63.
n=4 pour les versions 1.64 à 1.66.
n=5 pour les versions 1.67 à 1.71.
n=6 pour les versions 1.72.
n=7 pour les versions 2.00.
/Fnomfichier pour accepter les fichiers de changement de paramètres en
entrée. Voir "CCRB Structure" page 13-6 pour la description de
la structure du fichier.
/Onomfichier pour stocker les informations sur le résultat de l’exécution de
CCREMOTE (par défaut stocker dans CCREMOTE.DAT).
/Q supprimer tous les écrans à l’affichage.
Contrairement à la version Windows la version Dos de CCREMOTE ne
supporte pas les valeurs 32-bit pour les exécutions et le mot de fonction. Depuis
la version 3.02 vous pouvez indiquer un numéro de série 32-bit cependant les
versions antérieures ne supportent que des numéros de série 16-bit. Si vous
désirez utiliser des valeurs 32-bit, vous devez créer un fichier indépendant
contenant une structure CCRB et utiliser l’option /F.
La liste des codes d’erreur retournés par CCREMOTE est disponible dans
"Codes d’erreurs CCRemote" page 19-12.

CCCHANGE
Si vous distribuez un programme DOS, vous devez pour modifier à distance les
paramètres de protection ou activer une installation Unlock-It fournir à votre
client une version DOS de CCCHANGE.EXE. Vous la trouverez dans le sous-
répertoire DOSONLY de CopyControl. La version DOS et la version Windows
acceptent toutes les deux les codes de mise à jour fournis par CCREMOTE,
seuls les écrans sont différents.
L’utilisateur final a simplement à lancer CCCHANGE.EXE et saisir correctement
le code ou utiliser la syntaxe:
CCCHANGE [<unite ou chemin complet>]
[<code de mise à jour CCREMOTE> [/Q]]
[options]
Par exemple:
CCCHANGE A 12345678901234567890 /Q
Cette exemple permet à CCCHANGE d’effectuer les modifications sans
affichage des messages à l’écran.
CCCHANGE retourne un code d’erreur puis se ferme. Voir "Codes d’erreurs
CCChange" page 19-12 pour une liste des codes d’erreur possibles.
Les options valides pour CCCHANGE sont:
• /Q Suppression des messages.
• /Ffichier_entré Permet d’accepter un fichier en entré
depuis le clavier. Cela vous autorise à accepter les codes CCREMOTE
jusqu’a 1024 caractères de long. Fichier_entré peut être un nom de

Versions MSDOS • 12-3


fichier ou le chemin complet + nom du fichier mais vous ne pouvez pas
utiliser de nom long. Le format du fichier doit être ASCII c’est à dire
correspondant à des caractères issus du clavier.
• /Dfichier_sortie Permet de rediriger l’enregistrement des
confirmations de modification vers un autre fichier que celui par défaut.
Vous pouvez indiquer un nom de fichier un chemin complet + nom de
fichier mais pas de nom long. La structure du fichier de sortie est décrite
dans "Structures CCMove et CCChange" page 13-5.
• /I permet d’obtenir les informations
CCChange(version, code produit, numéro de série et numéro de mise à
jour) sans réaliser aucune modification. Cette option doit être
impérativement utilisée avec l’option /D.
• /Pcode_produit permet de modifier uniquement les
protections contenant le code produit indiqué (Unlock-It seulement).
• /U désinstallation d’une copie Unlock-It
installé.
• /Snuméro_série désinstallation d’une copie Unlock-It active
et création d’un code d’activation pour la nouvelle installation numéro
de série passé en paramètre. Voir "Déplacer une protection Unlock-It
installée" page 7-2 pour plus de détails.
• /Cfichier_sortie à utiliser seulement en combinaison avec l’option /S.
cette option permet d’écrire dans le fichier spécifié le code d’activation
de la nouvelle installation. Vous pouvez indiquer un nom de fichier un
chemin complet + nom de fichier mais pas de nom long.
Les options /U et /S sont seulement utilisées pour supprimer une installation
Unlock-It. Cette manipulation ne nécessite pas de code de mise à jour de
CCREMOTE.

CCMOVE
Si vous distribuez un programme DOS, vous aurez certainement besoin
d’inclure la version DOS de CCMOVE (disponible dans le sous-répertoire
DOSONLY de CopyControl) ou la version Windows de CCMOVE.EXE. Les
deux versions ont les mêmes caractéristiques mais pas la même apparence.
La syntaxe pour l’utilisation de la version DOS de CCMOVE.EXE est :
CCMOVE <source:> <destination:> [options]
Où <source:> est le chemin source et <destination:> est le chemin de
destination.
Note : le chemin source ou le chemin destination doit contenir un disque Master.
Pour exemple,
CCMOVE A: C:\ADIR
Vous permet de transférer un jeton de protection de A: vers le répertoire ADIR
du disque C:. Si le répertoire ADIR n’existe pas il est créé. Si aucun répertoire
n’est indiqué le répertoire courant est choisi par défaut.
Les options disponibles pour CCMOVE sont:
• /Dnomfichier Ecrit tous les écrans dans le fichier de sortie. Voir
"Structures CCMove et CCChange" page 13-5 pour plus de détails sur
la structure du fichier.
• /E Affichage des messages d’erreur.
• /L Affichage des messages de confirmation CCMOVE.
• /M Affichage de tous les autres messages.
• /N Permet de ne pas modifier les attributs des répertoires de
destination de protection Lecture seul / Caché / Système. Quelques

12-4 • Versions MSDOS


installations de type PC-NFS (incluant HP PC-NFS) peuvent nécessiter
cette option.
• /O Ecrase les protections déjà existantes sans attente de
confirmation.
• /P Invite l’utilisateur à appuyer sur une touche pour procéder au
transfert (DOS seulement).
• /Q N’affiche aucun message
• /U Considère une disquette Master comme Master Unlock-It.
Cela est particulièrement utile si le système d’exploitation ne permet
pas l’installation d’un jeton standard. Le résultat est le même que si
vous aviez réalisé une installation Unlock-It normal. Vous n’avez pas à
utiliser cette option si votre disque Master est déjà de type Unlock-It.
• /V utiliser pour déplacer un jeton depuis un Serveur VMS.
• /X Affiche le diagnostique complet CCMOVE. Si vous rencontrez
un problème de transfert de protection utilisez cette option avant de
contacter notre service de support.
Pour utiliser plusieurs options la syntaxe est par exemple :
CCMOVE A: B: /Q /L
Pour n’afficher aucun message autre que les confirmations CopyControl. Si
aucune option n’est spécifiée /E est supporté (c’est à dire uniquement les
messages d’erreur et confirmation d’écrasement). Voir "Codes d’erreurs
CCMove" page 19-9 pour consulter la liste des erreurs possibles.
Si l’option /O on est pas indiqueé et que le répertoire de destination contient
déjà une protection un message demande à l’utilisateur si il souhaite écraser
l’ancienne protection, cet écran ne peut être supprimé que si vous utilisez
l’option /D ou /Q. Si tous les écrans de sortie sont supprimés un code d’erreur
35 est retourné par CCMOVE.

CCLOOK
Si vous distribuez votre application sous DOS ou Windows 3.11 vous devrez
certainement fournir une version DOS de CCLOOK a la place d’une version
Windows. Les deux versions ont les mêmes fonctionnalités mais pas la même
apparence.
Deux syntaxes différentes peuvent être utilisées:
CCLOOK <chemin>
Où <chemin> est le chemin complet dans lequel CCLOOK doit rechercher la
présence de protection CopyControl. Si l’unité n’est pas indiquée ou le chemin
CCLOOK effectuera sa recherche dans le disque courant
La deuxième syntaxe possible est:
CCLOOK [Unité:] [/s]
Où unité est le nom du disque où vous souhaitez effectuer votre recherche. Si
Unité n’est pas spécifiée le disque courant est pris comme valeur par défaut. Si
/s est spécifié cela force CCLOOK à effectuer une recherche sur la totalité du
disque.
exemple CCLOOK c: /s
Si plus d’une protection est trouvée dans votre recherche une boite de dialogue
apparaît et vous demande de choisir la protection pour laquelle vous souhaitez
obtenir le détail des informations de protection dans la liste des protections
disponibles. Une fois votre choix effectué le détail de la protection est affiché.
L’affichage par défaut n’est pas réglé pour autoriser l’affichage des messages et
des paramètres des programmes. Pour les voir entrez 'M' ou 'P'. Appuyez 'X'

Versions MSDOS • 12-5


pour l’affichage d’un diagnostique complet de la protection. Réalisez cette
manipulation avant de contacter notre service de support technique.

12-6 • Versions MSDOS


Structures CopyControl

Structure CCMB
Le bloc mémoire de CopyControl (CCMB) est une zone mémoire RAM qui est
utilisée pour transférer des informations entre votre programme et votre jeton de
protection. Vous utilisez ce bloc mémoire si vous avez choisi la méthode de
protection Objet de votre applicatif (voir "Appeler La Routine CopyControl"
page 5-1).
Le CCMB est long de 512 octets et sa structure est la suivante :
Champ Offset Longueu Type Description
(octets) r (octets)
CCMB 0 4 octet Toujours "CCMB"
Func 4 1 octet Numéro de fonction
R_Code 5 2 word Code de retour fonction
Drive 7 1 octet Numéro du disque
Dir 8 4 dword Chemin Windows du logiciel
Vers 12 2 octet N° de version
S_N 14 2 word Numéro de série
P_Code 16 9 octet Code Produit (ASCIIZ)
P_NAME 25 13 octet Nom de Programme
(ASCIIZ)
CC_SN 38 2 word Numéro de série
CopyControl
MASTER 40 1 octet Disque Master ou copie
Dr_Type 41 1 octet Type d’unité
Copies 42 2 word Nombre de copies restantes
Init_copies 44 2 word Nombre d’installations
autorisées
Uses 46 2 word Nombre d’execution
Restantes
I_Uses 48 2 word Nombre Initiale d’execution
Exp_D 50 1 octet Jour d’expiration
Exp_M 51 1 octet Mois d’expiration
Exp_Y 52 2 word Année d’expiration
Feature 54 2 word Mot de fonction
MaxNetUsers 56 2 word Nombre maximum
d’utilisateurs réseau
Secure_msg 58 257 octet Message sécurisé (ASCIIZ)
Old_updates 315 2 word Dernier numéro de mise à
jour
Flags1 317 2 word Flags (paramètrage avancé)

Structures CopyControl • 13-1


NetUserData 319 4 octet Réservé
Dos_time 323 4 octet Heure DOS DOS fn 2ch
Old_maxday 327 2 word Nombre de jour Maximum
s (Si Master)
Res2 329 4 dword Réservé
Extended_err 333 6 octet Code d’erreur étendu
Res3 339 1 octet Réservé
Res4 340 4 dword Réservé
execs 344 4 dword Nombre d’exécutions
restantes
init_execs 348 4 dword Nombre Initiale d’execution
features 352 4 dword Mot de fonction
SerialNumbe 356 4 dword Numéro de série
r
updates 360 2 word Dernier numéro de mise à
jour
maxdays 362 2 word Nombre de jours maximum
(si Master)
Res_expand 364 148 octet Réservé pour extension
Ou "char " est non signé à l’exception du code de retour. "longchar" 4 octets
non signés.

Voici une description avancée de chacun des champs ci-dessus présentés.


Le champ doit être initialise avant la vérification de la protection
Le Champ peut être initialisé avant la vérification de la protection.
Le champ est renseigné après la vérification de la protection.
CCMB Ce champ doit toujours être initialisé à "CCMB"
caractère ASCII .
Func Numéro de fonction (voir "Les Fonctions" page
14-5).
R_Code La valeur du code de retour est renseignée
après la vérification de la protection. Ce code de
retour indique l’état de la protection. Si le code
de retour est -124, le champ n’est pas
correctement renseigné. Ce champ est de type
signé.
Drive Unité à vérifier. 0=défaut, 1=A, 2=B etc.
Dir Ce champ est seulement utilisé pour les
applications Windows protégées par
CCWIN.OBJ, CC.DLL ou CC32.DLL. Il est le
plus souvent initialisé à zéro.
Si vous initialisez ce champ à 0, CopyControl va
rechercher la protection dans les répertoires
suivants : CC_PATH_<code produit>, le
répertoire du logiciel, le répertoire courant de
travail, le répertoire racine et, si l’unité est
Netware, SYS:PUBLIC.
Si le champ n’est pas placé à 0 et que le bit2 de
flags1 n’est pas initialisé, CopyControl remplace
le répertoire du logiciel par celui indiqué par le
pointeur de ce champ. Si le champ n’est pas
placé à 0 et que le bit2 de flags1 est initialise
alors CopyControl recherchera la protection

13-2 • Structures CopyControl


uniquement dans le répertoire indiqué par le
pointeur de ce champ. Ce chemin doit contenir la
lettre de l’unité.
Vers Numéro de version CopyControl. Numéro de
version majeur suivi de numéro de version
mineur. Cela peut être utile de tester ce champ
car la structure du CCMB peut être différente
d’une version à une autre.
S_N Inclu pour la compatibilité descendante
seulement. Utiliser “serial_number” plus loin.
P_Code Votre code produit (ASCIIZ).
P_Name Nom original de votre programme protéger
(ASCIIZ). Si le programme à été renommé, ce
champ reste à la valeur du nom indiqué lors de
la pose de la protection.
CC_SN Numéro de série CopyControl utilisé pour
protéger ce programme.
Master Indique le type d’installation de la protection:
0 – disque Master disquette normal.
1 – copie installée normal.
2 – Master Unlock-It.
3 – copie Unlock-It installée inactive.
4 – copie Unlock-It installée activée.
5 – disque Master de distribution.
6 – copie distributeur installé.
7 – copie CCEXNET.
8 – Master Try-It.
9 – copie Try-It installée.
Dr_Type Type du disque contenant la protection. C0 hex
si il s’agit d’une unité réseau, 80 à BF hex si
c’est un disque dur, 0 à 7F hex si c’est une
disquette.
Copies Nombre de jetons restants sur le disque Master.
Si le disque Master n’est pas une disquette ce
champ n’est pas utilisé.
Init_copies Nombre initial de copies autorisées sur le disque
Master.
Uses Inclu pour la compatibilité descendante
seulement. Utiliser “execs” ci-après.
I_Uses Inclus pour la compatibilité descendante
seulement. Utiliser “init_execs” ci-après.
Exp_D Jour d’expiration (1 à 31).
Exp_M Mois d’expiration (1 à 12).
Exp_Y Année d’expiration (1980 à 2099).
Feature Inclus pour la compatibilité descendante
seulement. Utiliser “features” ci-après.
MaxNetUser Nombre maximum d’utilisateurs réseau
s simultanés autorisés à utiliser votre logiciel sur le
réseau (-1 si illimité).
Secure_msg Le message sécurisé (ASCIIZ) affiché quand le
programme démarre. Vous pouvez utiliser cette
zone pour stocker des informations sécurisés
(voir "Fonction 1" page 14-5).

Structures CopyControl • 13-3


Old_updates Inclu pour la compatibilité descendante
seulement. Utiliser “Updates” ci-après.
Flags1 flags:
Initialiser le bit 1 si vous devez forcer la
fermeture d’un utilisateur réseau (voir "Utiliser la
Fonction 6 pour fermer une session utilisateur
réseau" page 11-2 pour plus de détails).
Attention il faut initialiser le bit 0 si le bit1 est
initialisé et que vous souhaitez utiliser la
méthode de protection externe.
Initialiser le bit 2 uniquement si vous désirez
forcer CopyControl à rechercher la protection à
l’adresse indiquée dans le champ Dir.
Le Bit 3 est uniquement utilisé pour les
programmes DOS. Si le bit 3 est à zéro, les
messages issues d’une protection invalide ne
s’affichent pas mais les autres oui. Par exemple,
"trop d’utilisateurs réseau simultanés", "virus
détecté", "RAM insuffisante" seront affichés. Si
le bit 3 est placé à 1, aucun message ne sera
affiché à l’exception de "CCMB Invalide".
Bit 4 doit être à zéro.
Bit 5 doit être à 1 si le programme protégé se
termine en passant le contrôle à une autre
application (exemple : Chain en Basic, Exec en
'C'). Il doit être également placé à 1 si vous
désirez désinstaller un jeton vers le disque
Master et que le programme protégé continue à
fonctionner pendant le transfert de la protection.
Le Bit 5 est uniquement utilisé avec la fonction 0.
Bit 6 doit être à 1 si vous souhaitez que
CopyControl ne décompte pas un utilisateur
réseau lors de l’appel à la fonction 0. Cela est
utile si vous utilisez un nombre maximum
d’utilisateurs réseau simultanés et que vous
devez utiliser plusieurs fois la fonction 0 dans
votre programme protégé.
Bit 7 doit être à 1 si vous utilisez la méthode de
protection Objet et que vous souhaitez que les
messages indiqués dans CCAdd soient affichés
ainsi que les messages d’erreur.
Bit 8 doit être à 1 si vous désirez afficher les
messages d’erreur correspondant au code
d’erreur de retour.
NetUserData Si vous utilisez la fonction 6 pour terminer une
session utilisateur réseau vous devez mémoriser
cette valeur entre l’appel à la fonction 0 et celui
de la fonction 6. Cette valeur est seulement
utilisable par CopyControl.
Dos_time Heure Dos à laquelle la protection a été testée.
Les 4 octets contiennent respectivement les
minutes, heures, centième de seconde, et
seconde. Vous pouvez accroitre la sécurité en
vérifiant la valeur de l’heure Dos et celle de
l’heure courante (autoriser une différence de
quelques secondes entre l’heure courante et
l’heure Dos (temps d’écriture).
Old_maxday inclu pour la compatibilité descendante
s seulement. Utiliser “Maxdays” ci-après.

13-4 • Structures CopyControl


Res2 Réservé (doit être à NULL).
Extended_er 6 octets pour le code d’erreur étendu (seulement
r utilisé par CC32.DLL).
Res3 Réservé (doit être à NULL).
Res4 Réservé (doit être à NULL).
execs Nombre d’exécutions restantes.
init_execs Nombre initial d’exécutions autorisées.
FFFFFFFF hex si illimité.
features Champ protégé pouvant être utilisé pour votre
propre servitude. Par exemple, vous pouvez
décider de limiter l’accès à certaines
fonctionnalités de votre logiciel. Pour cela testez
la valeur contenue dans ce champ.
SerialNumbe Numéro de série du produit. Ce champ est non
r signé.
Updates Dernier numéro de mise à jour pour CCChange.
C’est la valeur que CCChange affiche dans
prochain numéro de mise à jour.
Maxdays C’est la valeur du nombre de jours maximum
d’utilisation si il s’agit d’un disque Master. Sinon
la valeur est FFFF hex.
Res_expand Réservé pour extension (doit être rempli par
zéro).
Des exemples de structure CCMB pour différents langages de programmation
sont disponibles dans le répertoire SAMPLES de CopyControl.

Structures CCMove et CCChange


Les fonctions CCMOVE_SDO, CCCHANGE_SCO et CCEXNET_SDO utilisent
la même structure pour passer les paramètres à CopyControl. Pour utiliser cette
structure avec CCMOVE.EXE ou CCCHANGE.EXE sous DOS il faut utiliser
l’option /D. Cette structure est décrite ci-dessous.
Champ Offset Longueu Type Description
(octet r (octets)
s)
rcode 0 2 word Code d’erreur
version 2 2 octet Version CopyControl
small_sn 4 2 word Numéro de série client
abrégé LSW
messages_off 6 2 word Adresse du message
set
product_code 8 9 octet Code Produit
reserved 17 1 octet Reservé
update 18 2 word Numéro de mise à jour
init_tokens 20 2 word Nombre Maximum de
jetons sur le Master
tokens 22 2 word Nombre de jetons
restant sur le Master
serial_number 24 4 dwor Numéro de série
d installé
Master 28 1 octet Master ou copie
installé

Structures CopyControl • 13-5


reserved2 29 1 octet Reservé
cc_sn 30 2 word Numéro de série
CopyControl
messages 32 char Messages Retournés.
Où "word" est non signé (sauf pour rcode) et "dword" est de 4 octets (non
signé).
Vous trouverez ci dessous une description détaillée de chacun des champs:
• rcode Code de Retour. voir "Codes d’erreurs CCMove"
page 19-9 et "Codes d’erreurs CCChange" page
19-12. 0 correspond à succès. Le champ est signé.
• version Numéro de version de la copie installée. Numéro
de version majeur suivi du numéro de version
mineur. Il est nécessaire de le vérifier car la
structure peut être différente suivant les versions.
• small_sn LSW (‘Least significant word’) ou numéro de série
abrégé de la copie installée.
• messages offset Un pointeur (adresse du début de la structure) vers
le buffer messages. Les messages doivent
toujours suivre le dernier champ dans la structure.
Par conséquence l’adresse de la zone du champ
messages dépend de la version CopyControl. Tous
les langages de programmation ne peuvent pas
utiliser ce champ, et la structure doit être mise à
jour à chaque changement de version.
• product code Code Produit (ASCIIZ).
• update Prochain numéro de mise à jour.
• init_tokens Nombre de jetons maximum autorisé sur la
disquette Master.
• tokens Nombre de jetons restants sur la disquette Master.
• serial_number Numéro de série de la protection installée.
• Master Pour CCChange cela permet de savoir si le type
de protection a été modifié. Pour CCMove il
indique le type de protection de la copie installée.
Voir le champ Master dans "Structure CCMB"
page 13-1 pour la liste possible des valeurs.
• cc_sn Numéro de série CopyControl de la protection.
• Messages Les messages qui normalement doivent être
affichés à l’écran (ASCIIZ).
Note pour les utilisateurs de la versions 3.00
Cette structure à été modifiée depuis la version 3.00 pour vous en rendre
l’utilisation plus facile. Si vous mettez à jour votre version CopyControl d’une
version inférieure à la version 3.00 vers une plus récente vous devez utiliser la
nouvelle structure. A noter qu’il est plus facile pour appréhender le
fonctionnement de la structure de consulter l’exemple fourni dans le répertoire
SAMPLES de CopyControl.

CCRB Structure
Si vous utilisez l’option /F pour CCRemote, il prend en entrée le fichier que vous
lui indiquez. Ce fichier doit contenir une structure de type CCRB définie ci-
dessous. Lorsque vous sauvegardez les paramètres depuis CCRemote dans un
fichier .CCR ce dernier correspond à la dite structure. Vous pouvez placer tous
les champs que vous ne souhaitez pas changer à Null.

13-6 • Structures CopyControl


Champ Offset Taille Type Description
(octet (octet
s) s)
product_code 0 9 byte Code Produit
serial_number 9 4 dword Numéro de série client
update_number 13 2 word Numéro de mise à jour
change_maxco 15 1 byte Modifier le nombre
pies maximum de jetons ?
Maxcopies 16 2 word Nombre maximum de
jetons
restore 18 1 byte Restaurer le nombre
maximum de jetons
addcopies 19 2 word Nombre de jetons à
ajouter
change_drivety 21 1 byte Modifier le type d’unité ?
pe
drivetype 22 1 byte Unité autorisée pour le
fonctionnement
change_Master 23 1 byte Modifier autorisation
depuis le Master ?
Master 24 1 byte Fonctionnement depuis
le Master ?
netusers 25 2 word Nombre d’utilisateurs
réseau simultanés.
last_date 27 11 byte Dernière date
d’utilisation
activate 38 1 byte Activer jeton Unlock-It
filename 39 13 byte Fichier à modifier
change_execsc 52 1 byte Modifier le nombre
opy d’exécutions/copie ?
execscopy 53 4 dword Executions par copie
res1 57 1 byte Reservé
addexecs 58 4 dword Nombre d’exécutions à
ajouter
expiry 62 11 byte Date d’expiration
change_maxda 73 1 byte Modifier le nombre de
ys jours maximum?
Maxdays 74 2 word Nombre de jour
Maximum
change_feature 76 1 byte Modifier mot de
s fonctions ?
features 77 4 dword Mot de fonctions
change_virus 81 1 byte Modifier vérification
virus
virus 82 1 byte Activer vérification virus
secure_msg 83 256 byte Message sécurisé
uninstall 339 1 byte Confirmation de
désinstallation
version_major 340 1 byte Version (majeur)
version_minor 341 1 byte Version (mineur)
distrib_disks 342 2 word Num. du disque de
distribution

Structures CopyControl • 13-7


new_sn 344 4 dword Nouveau numéro de
série
nt_activation 348 1 byte Activer une protection
disquette pour NT
new_leeway 349 2 word Temps de dérive
Réseau
next_update 351 2 word Initialiser prochain
numéro de mise à jour
clear_tryit 353 1 byte Autoriser ré-installation
Try-It ?
execs0 354 2 word Nombre d’exécutions à
ajouter au premier
programme protégé
execs1 356 2 word Nombre d’exécutions à
ajouter au second
programme protégé
res_expand 358 154 byte Réservé pour extension
Où "word" est non signé sauf pour addcopies et "dword" (4 octets) est non
signé sauf pour addexecs.

Vous trouverez ci dessous une description détaillée de chacun des champs:


• product_code Code produit CopyControl (ASCIIZ). Ce
champ doit être rempli.
• serial_number Numéro de série client. Ce champ doit être
rempli.
• update_number Numéro de mise à jour client. Ce champ
doit être rempli.
• change_maxcopies Initialiser à 1 pour modifier le nombre
maximum de jetons.
• maxcopies C’est la nouvelle valeur du nombre
maximum de jeton. Ce champ est ignoré si change_maxcopies est à 0.
• restore Initialiser à 1 pour restaurer le nombre
actuel de jetons maximum autorisés.
• addcopies Nombre de jeton que vous souhaité ajouter
ou retirer (+ ou -).
• change_drivetype Initialiser à 1 pour modifier le type d’unité
autorisée à faire fonctionner la protection.
• drivetype Decrit le nouveau type d’unité autorisé à
recevoir la protection. Se champ est ignoré si change_drivetype est à 0.
o 0 – disquette seulement.
o 1 – disque dur seulement.
o 2 – disque dur ou disquette.
o 3 – unité réseau seulement.
o 4 – tous disque.
o 5 – tous disque dur ou unite réseau.
• change_Master Initialiser à 1 pour changer l’autorisation de
votre protection à fonctionner ou pas depuis le Master (en combinaison
avec le champ suivant).
• Master Initialiser à 1pour autoriser le programme à
fonctionner depuis le disque Master. Ce champ est ignoré si
change_Master est à 0.
• netusers C’est la nouvelle limite du nombre
maximum d’utisateurs réseau simultané (1 - 999 ou 65535 pour illimité).

13-8 • Structures CopyControl


• last_date C’est la nouvelle valeur de la dernière date
d’utilisation sous la forme jj/mm/aaaa.
• activate Initialiser à 1 pour activer un copie Unlock-
It ou Try-It installée.
• filename C’est le nom du programme protégé pour
lequel vous souhaité réaliser des modifications. Vous pouve indiquer
Null si pas de changement ou *.* si les changements sont à appliqué à
tous les programmes protégés. Vous pouvez au lieu d’indiquer le non
du programme qui doit subir des chamgements indiquer son numéro de
.0 à .9 (du premier au dixième suivant l’ordre d’affichage dans CCAdd.
• change_execscopy Initiliaser à 1 pour autoriser le changment
du nombre d’executions par copie.
• execscopy C’est la nouvelle valeur du nombre
d’exécution par copie. Entrer 65535 pour illimité. Ce champ est ignoré
si change_execscopy est à 0.
• res1 Réservé. Doit être à 0.
• addexecs C’est le nombre d’exécution que vous
souhaité ajouter ou retirer (+ ou -).
• expiry C’est la date d’expiration du jeton sous la
forme jj/mm/aaaa. Entrer illimité pour supprimer la date d’expiration.
• change_maxdays Initialiser à 1 pout modifier le nombre de
jour maximum.
• maxdays Le nombre de jour maximum d’utilisation
depuis la date d’installation du programme. Entrer 65535 pour illimité.
Ce champ est ignoré si change_maxdays est à 0.
• change_features Initialiser à 1 pour modifier la valeur du mot
de fonction.
• features Placer ici la nouvelle valeur du mot de
fonction. Ce champ es t ignoré si change_features est à 0.
• change_virus Initialiser à 1 pour modifier la vérification de
virus, autrement mettre à 0.
• virus Initialiser à 1 pour désactiver la vérification
de virus. Vous ne pouvez que re-activer ou activer la vérification virus
que si vous aviez déjà fais ce choix à la création du jeton de protection
avec CCAdd. Ce champ est ignoré si change_virus est à 0.
• secure_message nouveau message sécurisé (ASCIIZ). Pour
insérer null dans le message (ainsi des données sécurisées peuvent
être placé dans cette zone) utiliser ~Z. La longeur maximum de ce
champ est de 257 octets, a ce jour CCChange n’accepte que 60 octets.
• uninstall Initiliaser à 1 pour générer un code de
confirmation de désinstallation d’une copie Unlock-It (voir "Créer un
code de confirmation de désinstallation Unlock-It" page 8-3) Autrement
placer ce champ à 0.
• version_major Numéro de version majeur de la protection
CopyControl à modifier. Si 0 la version correspond à celle de
CCRemote.
• version_minor Numéro de version mineur de la protection
CopyControl à modifier. Si 0 la verions correspond à celle de
CCRemote.
• distrib_disks Numéro d’un disque Master créer depuis
un Master de distribution.
• new_sn Nouveau numéro de série (0 si pas de
modification).
• nt_activation Génere un code d’activation Unlock-It
depuis un Master disquette pour réaliser une installation depuis la
disquette Master vers une machine sous Windows NT.

Structures CopyControl • 13-9


• new_leeway C’est le nombre de minute +1 q’une station
de travail peut avoir en décalage avec le serveur de protection. Entrer 0
pour ne pas modifier la valeur.
• next_update Initialise le nouveau prochain numéro de
mise à jour de la protection. Entrer 0 pour ne pas modifier la valeur.
• clear_tryit Si ce champ est à 1 cela autorise la
reinstallation d’un jeton Try-It sur la même machine.
• execs0 Nombre d’excecutions à ajouter au premier
programme protégé (premier programme dans la liste affichée par
CCAdd).
• execs1 Nombre d’excecutions à ajouter au
deuxième programme protégé (deuxième programme dans la liste
affichée par CCAdd).
• res_expand Réservé pour de possible extension (doit
être à 0).
Un exemple d’utilisation de la structure CCRB dans différent langage de
programmation est disponible dans le répertoire SAMPLES de CopyControl.

13-10 • Structures CopyControl


Modules et Fonctions

Modules Objects
Un grand nombre de modules Objet sont distribués avec CopyControl pour vous
permettre d’utiliser la méthode de protection Objet de CopyControl (voir "La
Méthode Objet" page 4-2). La première fonction de ces modules est de pouvoir
permettre la vérification du statut de la protection sur une disquette et de
récupérer les différents paramètres de cette dernière.
La liste des modules disponibles:
• CC32.DLL pour les programmes 32-bit Windows.
• CC.DLL pour les programmes 16-bit Windows.
• CCWIN32.OBJ pour les programmes 32-bit Windows.
• CCWIN32B.OBJ pour les programmes Borland 32-bit
Delphi.
• CCWIN32C.OBJ pour les autres programmes Borland 32-bit.
• CCWIN32D.OBJ Pour ‘C’ Microsoft avec appel par DLL.
• CCWIN32E.OBJ Pour ‘C’ Borland avec appel par DLL.
• CCWIN32F.OBJ Pour Delphi avec appel par DLL.
• CCWIN.OBJ Pour les programmes 16-bit Windows.
• _CC.OBJ Pour les programmes DOS.
• _CCNOMEM.OBJ for DOS programs with no free RAM.
• _CCPROT.OBJ Pour les programmes utilisant DOS
Extenders.
• _CCXM.OBJ Pour les programmes utilisant XM DOS
Extender.
• CCCLAR.BIN Pour les programmes Clarion inférieur à la
version 3.
• CCCLAR3.OBJ Pour les programmes Clarion supérieur à
la version 3
CC32.DLL et CCWIN32.OBJ sont deux modules objets très similaires pour les
applications 32-bit Windows. Lier CCWIN32.OBJ dans votre programme est
plus sur que de faire appel à CC32.DLL mais CC32.DLL est plus facile à utiliser.
Les programmes 32-bit Visual Basic doivent utiliser CC32.DLL.
CCWIN32B.OBJ et CCWIN32C.OBJ sont les mêmes que CCWIN32.OBJ à la
seul différence qu’il sont conçus pour être lier par des librairies Windows
supportées par Delphi Borland (CCWIN32B) et pour les autres langages 32-bit
Windows de Borland (CCWIN32C).
CCWIN32D.OBJ est le même module que CCWIN32.OBJ mais il est conçu
pour être lier dans une DLL. CCWIN32E.OBJ est le même module que
CCWIN32C.OBJ mais il est conçu pour être lier dans une DLL. CCWIN32F.OBJ
est le même module que CCWIN32B.OBJ mais il est conçu pour être lier dans
une DLL.

Modules et Fonctions • 14-1


CC.DLL et CCWIN.OBJ sont les equivalents 16-bit de CC32.DLL et
CCWIN32.OBJ.
_CC.OBJ et _CCNOMEM.OBJ sont très ressemblants des modules disponibles
pour les programmes DOS, La seul différence pour _CCNOMEM.OBJ est de
pouvoir pré-allouer l’espace buffer. Normalement vous devez utiliser _CC.OBJ
pour les applications qui monopolisent déjà la plus part des ressources mémoire
ou qui sont de type résident (TSR). La fonction d’appel à la protection de
_CC.OBJ nécessite 32 K de mémoire RAM pour l’espace buffer allouer
temporairement (la fonction alloue elle-même son espace mémoire avec la
fonction 48h DOS). Si votre programme utilise déjà toute la RAM vous devez
agir pour libérer la mémoire nécessaire à l’exécution correcte de la fonction de
test de la protection. Assurer vous d’avoir la mémoire suffisante avant de lancer
la fonction de test de la protection. Si vous ne pouvez pas libérer de la mémoire
RAM avant de lancer la fonction de test la protection il faut alors utiliser
_CCNOMEM.OBJ à la place de _CC.OBJ.
_CCPROT.OBJ et _CCXM doivent être utiliser pour les programmes DOS
fonctionnant sous DOS Extender. Utiliser _CCXM si votre DOS Extender est de
type XM DOS Extender, autrement utiliser _CCPROT.OBJ.
Si vous utilisez CCWIN.OBJ avec Turbo Pascal pour Windows (TPW) et Delphi
1 il est important de noter que ces deux langages n’interprète pas correctement
la commande d’alignement des modules Objets. Par conséquent, il est
nécessaire pour l’unité Turbo Pascal pour Windows (TPU) de forcer
l’alignement en ajoutant ou retirant des espaces au début de la section de
l’unité TPU. C’est pour cette raison que nous vous conseillons dans ce cas
d’utiliser la méthode Shell ou l’appel à CC.DLL. Cependant, si vous désirez lier
CCWIN.OBJ, un code exemple est disponible dans le répertoire SAMPLE de
CopyControl.
Pour éviter toutes confusions possibles entre votre copie de CC.DLL
(CC32.DLL) et d’autres produits utilisant cette même DLL, nous vous
recommandons de renommer cette DLL et de la placer dans le répertoire
d’installation de votre logiciel, ou bien dans le répertoire system du système
d’exploitation.
Si vous utiliser CC.DLL ou CC32.DLL vous devez dans CCAdd, ajouter le nom
de la DLL utilisé par le programme protégé de la même façon que pour un
.EXE et vous devez indiquer comme type de protection la méthode Objet dans
la section détail fichier.

Les Procédures
Chaque modules contient une ou plusieurs procédures pouvant être appelées
depuis votre logiciel:

Module Nom des Procédures


CCWIN.OBJ CCWIN
CCWIN32.OBJ, CCWIN32B.OBJ CCWIN32
CCWIN32C.OBJ, CCWIN32D.OBJ
CCWIN32E.OBJ, CCWIN32F.OBJ
CC.DLL, CC32.DLL CCDLL, CCDLL1, CCDLL2,
CCDLL2_OPEN,
CCDLL2_CLOSE,
CCDLL2_READ_BYTE,
CCDLL2_READ_WORD,
CCDLL2_READ_DWORD,

14-2 • Modules et Fonctions


CCDLL2_WRITE_BYTE,
CCDLL2_WRITE_WORD,
CCDLL2_WRITE_DWORD
CC32.DLL CC32, CC321
_CC.OBJ, _CCNOMEM.OBJ _cc, CCBFP, _CCJPI
CCCLAR.BIN CCCLAR
CCCLAR3.OBJ _CCJPI
_CCPROT.OBJ, _CCXM _cc, CCBFP, _CCJPI, _real_cc,
REAL_CCBFP, _REAL_CCJPI

Chaque procédure réalise les mêmes opérations. La différence résulte dans les
types de paramètres qu’elles acceptent et dans leurs conventions.
Ce sont toutes des procédures de type far. Les procédures Windows
correspondent à un appel standard des procédures selon Windows, c’est à dire,
la fonction _stdcall pour les applicatifs 32-bit et pour les procédures Pascal Far
16-bit. Dans ce manuel le terme “WINAPI” est utilisé et peut être interprété
comme étant _stdcall ou Pascal Far suivant que l’on soit dans une
environnement 16 ou 32-bit.
Votre programme doit utiliser l’un d’entre eux, passer en paramètre l’adresse
far du bloc mémoire CopyControl (CCMB) (sauf pour CCDLL1 et CCDLL2).
CopyControl utilise CCMB pour échanger les informations entre votre
programme et la procédure de vérification de la protection CopyControl (voir
"Modifier votre code" page 5-1). Chaque procédure retourne un code (code de
retour). 0 si la protection est testée avec succès, Toutes les autres valeurs
indiquent une erreur (voir "Codes d’erreurs du Run-time CopyControl" page 19-
1).
Le programme d’installation de CopyControl Setup place un certain nombre
d’exemples d’utilisation de ces procédures dans le répertoire SAMPLES de
CopyControl.

CCDLL1
Quelques langages de programmation sous Windows n’autorisent pas
l’allocation de mémoire pour la structure CCMB. Dans de pareils cas, vous
pouvez appeler CCDLL1 à la place de CCDLL. CCDLL1 est identique à
CCDLL à l’exception du passage de paramètres. Vous ne passez à CCDLL1
que le numéro de l’unité du disque à la place de l’adresse de la zone mémoire
du CCMB. CCDLL1 va créer sa propre structure CCMB interne avant la
vérification de la protection.

CCDLL2
Un des désavantages de CCDLL1 est de ne pouvoir lire ou écrire dans le
CCMB avant ou après le test de la protection. La procédure CCDLL2 est
similaire à CCDLL1 mais il est possible d’accéder avec certaines fonctions au
CCMB interne de CCDLL2 :
unsigned short WINAPI CCDLL2_OPEN()
Doit être exécuté avant l’appel à d’autres fonctions de CCDLL2. Cette fonction
permet la création de la structure CCMB et rempli les champs avec 0 à
l’exception des 4 premiers octets remplis avec ‘C’ ‘C’ ‘M’ ‘B’ elle retourne la
valeur ccmb_handle pour accéder à l’instance CCMB avec les autres fonctions.
short WINAPI CCDLL2(ccmb_handle)
Exécute fonction CC, en utilisant le CCMB créé par CCDLL2_OPEN. La
fonction CC rempli alors le CCMB de façon normal et renvoi le code de retour.

Modules et Fonctions • 14-3


short WINAPI CCDLL2_CLOSE (ccmb_handle)
Libère la mémoire allouée pour la structure CCMB par CCDLL2_OPEN. Cette
fonction doit être appelée après toutes les autres fonctions de CCDLL2
utilisées. Retourne 0 si OK.
char WINAPI CCDLL2_READ_BYTE (ccmb_handle, short ccmb_offset)
Retourne un octet depuis ccmb_offset du CCMB.
short WINAPI CCDLL2_READ_WORD (ccmb_handle, short ccmb_offset)
Retourne deux octets(word) depuis ccmb_offset du CCMB.
long WINAPI CCDLL2_READ_DWORD (ccmb_handle, short ccmb_offset)
Retourne 4 octets (dword) depuis ccmb_offset du CCMB.
short WINAPI CCDLL2_WRITE_BYTE (ccmb_handle, short
ccmb_offset,BYTE value)
Ecrit un octet à l’adresse ccmb_offset dans le CCMB. Retourne 0 si OK.
short WINAPI CCDLL2_WRITE_WORD (ccmb_handle, short
ccmb_offset,WORD value)
Ecrit deux octets à l’adresse ccmb_offset dans le CCMB. Retourne 0 si OK.
short WINAPI CCDLL2_WRITE_DWORD (ccmb_handle, short
ccmb_offset,DWORD value)
Ecrit 4 octets à l’adresse ccmb_offset dans le CCMB. Retourne 0 si OK
“short” dans la déclaration de la fonction est un short intègre (2 octets).
Il vous est possible d’utiliser CCDLL2_OPEN, suivi de plusieurs
CCDLL2_WRITE pour initialiser le CCMB, alors appel de CCDLL2, possible de
suivre avec quelques CCDLL2_READ puis pour finir CCDLL2_CLOSE.

_cc
La manière normale de protéger un applicatif de type DOS avec la méthode
Objet est de lier le module Objet approprié (voir plus haut) et d’appeler la
routine _cc.
Si votre programme est un programme Clipper, vous avez besoin de respecter
certaines étapes supplémentaires. Clipper manque de facilité pour allouer une
zone mémoire et pointer dessus de manière normale, aussi nous vous
recommandons de créer un 'layer' supplémentaire dans la forme contenant le
module objet. Le ‘layer’ doit être placé entre l’applicatif clipper et le module objet
de CopyControl. Voir le code exemple dans le répertoire SAMPLES de
CopyControl pour plus de détails.

CCBFP
La routine CCBFP a les mêmes performance que la fonction _cc mais il est
possible de passer des paramétres avec les conventions pour Basic, Fortran et
Pascal. C’est un peu plus difficile que pour la méthode ‘C’, la différence est que
les piles ont besoins d’être ajustées par CCBFP avant de retourner à l’appel du
programme.
Turbo Pascal n’interprète pas correctement le paragraphe des commandes
d’alignement des modules objets. Par conséquent, il est nécessaire pour l’unité
Turbo Pascal pour Windows (TPU) de forcer l’alignement en ajoutant ou retirant
des espaces au début de la section de l’unité TPU. Voir le code exemple dans
le répertoire SAMPLES de CopyControl pour plus de détails.

_CCJPI
Un programme Clarion 3 a besoin d’appeler la routine _CCJPI de
CCCLAR3.OBJ pour vérifier la protection. Un exemple de code réalisant cet
appel est présent dans le répertoire SAMPLES de CopyControl.

14-4 • Modules et Fonctions


La routine _CCJPI utilise les conventions C TopSpeed C (également utilisées
par Clarion 3) pour passer l’adresse du CCMB dans le registre de la pile.
Les programmes en mode réel Clarion 3 peuvent utiliser _CC.OBJ et
_CCNOMEM.OBJ comme n’importe quell autre programme en mode réel.

real_cc, REAL_CCBFP, REAL_CCJPI


Ces routines sont comprises dans le module protégé, ainsi vous pouvez appeler
CopyControl depuis une section en mode réel de votre programme protégé.
Ces procédures correspondent respectivement à _CCNOMEM _cc, CCBFP et
_CCJPI.

Les Fonctions
Lorsque vous faîtes appel à une des procédures listées ci avant. Vous devez
remplir certains champ de la structure du CCMB (voir "Structure CCMB" page
13-1). L’un d’entre eux est le champ fonction. Il correspond à liste des fonctions
décrites ci après.

Fonction 0
Exécute une vérification du statut de la protection pour un disque particulier.
Cette fonction permet de vérifier le statut de la protection recherchée sur le
disque spécifié, elle rempli le CCMB et peut mettre à jour les paramètres de la
protection (exemple Ajouter un nombre d’exécutions).
En plus du CCMB et du champ fonctions, vous devez initialiser le champ Drive
avec la lettre correspondant à l’unité logique sur laquelle se situe la protection à
vérifier(0=courant, 1=A, 2=B, ...).
Si vous disposez de l’option Réseau et que vous avez indiqué un nombre
maximum d’utilisateurs réseau simultanés, la fonction 0 va démarrer une
session utilisateur (décompte d’un droit d’utilisation simultané) sauf si le bit6 de
flags1 est à 1. Dans certains cas de figure exceptionnel il peut être nécessaire
de positionner d’autres bits de flags1 voir ("Utiliser la Fonction 6 pour fermer
une session utilisateur réseau" page 11-2). Si vous n’utilisez pas de restriction
quant au nombre d’utilisateurs réseau vous devez placer à 0 les bits de flags1.
Initialisez le bit5 de Flags1 si votre programme se termine en passant la main à
une autre application (exemple CHAIN en Basic ou EXEC en ‘C’) ou si vous
désirez désinstaller une protection vers un disque Master avant la fermeture de
l’application protégée.
Si la vérification de la protection se déroule avec succès la fonction retourne la
valeur 0 dans le champ R_Code et les autres champs sont remplis suivant les
paramètres de la protection. Si R_Code n’est pas à zéro après l’appel à CC, les
autres champs ne sont pas renseignés.
Le message de confirmation spécifié dans CCADD peut être affiché si la
protection est testée avec succès et si vous avez positionné le bit7 de flags1 à
1. Les codes d’erreur sont seulement affichés si le bit8 de flags1 est à 1.

Fonction 1
Modifie le contenu de Secure_msg.
Le champ Secure_msg peut avoir deux utilisations : La première pour contenir
le message de confirmation lorsque la protection est testée avec succès le
message se termine par null, le reste de ce champ peut être utilisé pour
mémoriser des données sécurisées pour votre propre utilisation.
En plus du CCMB et du champ Func, vous devez initialiser le champ Drive avec
la lettre correspondant à l’unité logique sur laquelle se situe la protection à

Modules et Fonctions • 14-5


vérifier(0=courant, 1=A, 2=B, ...). Vous devez également remplir le champ
Secure_msg avec vos nouvelles données. La zone de données sécurisées
commence après le premier null utilisé pour signalé la fin du message de
confirmation. Le reste de ce champ utilisé pour stocker des données est
entièrement sécurisé par CopyControl.
La zone de données utilisateur ne doit pas dépasser la taille maximum du
champ Secure_msg.
Le format du champ Secure_msg est:
• Message sécurisé nombre variable d’octets, terminé par un
octet null.
• Longueur de la commande 1 octet, par défaut cette valeur est toujours à
1.
• commande 1 octet permettant de spécifier si le champ
Secure_msg doit être copié lors de retour de
la protection sur le disque Master. 0 si le
champ Secure_msg ne doit pas écraser
celui du Master, 1 si le champ Secure_msg
doit être mis à jour sur le Master.
• Donnée utilisateur Nombre variable d’octets de la zone donnée
utilisateur.
Si CopyControl ne se trouve pas sur le disque, R_Code est différent de zéro.
Cette fonction ne remplie pas les champs du CCMB avec les paramètres de la
protection testée.
Nous vous conseillons de ne pas mémoriser des données dans la zone
secure_msg si vous utilisez une DLL CopyControl pour protéger votre
programme. Si vous le réalisez quand même il est possible pour un pirate
d’appeler cette fonction pour accéder à la zone sécurisée. Si vous souhaitez
utiliser le champ secure_msg, la méthode objet avec les modules objets est la
plus indiquée.

Fonction 2
Permet de tester le statut de la protection sans effectuer de mise à jour des
paramètres CopyControl.
Cette fonction est la même que la fonction 0 mais elle ne permet pas de
changer les paramètres de CopyControl.
Le message de confirmation spécifié dans CCADD peut être affiché si la
protection est testée avec succès et si vous avez positionné le bit7 de flags1 à
1. Les codes d’erreur sont seulement affichés si le bit8 de flags1 est à 1.
Si vous désirez tester votre protection plus d’une fois dans votre application, il
est généralement fais appel à la fonction 0 puis à la fonction 2 pour les appels
répétés.

Fonction 3
Récupère les paramètres CopyControl.
Cette fonction permet de remplir leCCMB avec les paramètres CopyControl
sans tester le statut de la protection. Les fichiers CCONTROL.SYS et
code_produit.CCC doivent être présents. Cette fonction est uniquement utilisée
pour vérifier la valeur de certains paramètres comme le nombre d’exécution ou
la date d’expiration.
En plus du CCMB et du champ fonctions, vous devez initialiser le champ Drive
avec la lettre correspondant à l’unité logique sur laquelle se situe la protection à
vérifier(0=courant, 1=A, 2=B, ...). Si CopyControl ne se trouve pas sur le
disque R_Code est différent de zéro. Cette fonction ne remplie pas les champs
du CCMB avec les paramètres de la protection testée.

14-6 • Modules et Fonctions


Fonction 4
Cette fonction est désormais obsolète. Elle est incluse uniquement pour la
compatibilité descendante.

Fonction 5
Exécute une fonction 2 pour un programme particulier. La fonction 2 effectue un
test de la protection pour le programme courant. La fonction 5 permet de définir
le programme pour lequel la protection doit être testée.
Il est parfois utile de pouvoir vérifier le statut de protection d’un autre
programme protégé que celui en court d’exécution. Par exemple, un programme
d’installation qui va vérifier la date d’expiration du programme qu’elle doit
installer. Les deux programmes doivent être protégés pour permettre cette
utilisation.
En plus des champs nécessaires à la fonction 2, vous devez spécifier le nom du
programme à tester dans le champ P_Name du CCMB. Si il n’est pas indiqué
correctement et que les fichiers ne sont pas trouvés CopyControl retourne une
erreur -20.
Si vous devez utiliser la fonction 5 pour vérifier le statut de protection d’un
programme extérieur à celui en court d’utilisation et que vous devez tester la
protection pour le programme en court nous vous conseillons de d’abord utiliser
la fonction 5 puis la fonction 0 pour la protection du programme courant.

Fonction 6
Clôture un utilisateur réseau.
Dans certaines circonstances vous devez utiliser cette fonction pour forcer la
fermeture d’une session utilisateur réseau afin de libérer un droit d’utilisation
réseau simultané de votre application. voir "Utiliser la Fonction 6 pour fermer
une session utilisateur réseau" page 11-2 pour plus de détails.

Modules et Fonctions • 14-7


Compatibilité

Matériel
CopyControl est compatible sur tous les PC compatibles (du moins toutes les
configurations connues à ce jour permettent la bonne exploitation de
CopyControl).
Le mode Unlock-It fonctionne sur tous types de disques.
Le mode de protection disquette CopyControl fonctionne sur tous disques durs
ou le jeton est installé.
La protection disquette CopyControl fonctionne avec des lecteurs de type 5.25”
et 3.5” avec des disquettes de capacités maximum 2.88 Mo. CopyControl
version disquette n’est compatible, ni avec les lecteurs de type LS-120, ni avec
les lecteurs de disquettes (internes ou externe) équipant les ordinateurs
portables. Dans ce cas il faut utiliser l’installation de type Unlock-It.

Systèmes d’exploitation
La protection CopyControl fonctionne sur tous les IBM compatible fonctionnant
sous Windows (3.0 ou supérieur, 95, 98, 2000, Millénium ou NT) et sous toutes
les variants de MSDOS. Tous les réseaux de type DOS sont compatibles avec
CopyControl (voir "Réseaux " page 11-1).
Sous Windows NT, vous ne pouvez pas tester une protection de type disquette
ou installer une protection depuis un Master disquette sans utiliser l’option
compatibilité NT disponible dans CCADD. Si vous choisissez cette option la
sécurité est moins grande mais la protection est totalement compatible NT (voir
"Mode compatible NT" page 6-5). Si vous désirez garder un niveau de sécurité
optimum nous vous conseillons l’utilisation du mode Unlock-It.
D’autres options disponibles permettent de renforcer la sécurité de CopyControl
mais réduisent également la compatibilité de la protection sous les différents
systèmes d’exploitation. Ces options sont décrites plus loin dans ce chapitre.
Sous OS/2, la version Windows de CCMOVE.DLL et CCCHANGE.DLL ne
fonctionne pas. Vous devez utiliser CCMOVE.EXE et CCCHANGE.EXE à la
place.

Utilitaires
En général, les différents utilitaires de type programmes de sauvegarde,
défragmenteurs ou autres systèmes d’optimisation, n’affecte pas le
fonctionnement de CopyControl. A quelques rares exceptions près.

Sauvegardes
Le fonctionnement du mécanisme de protection de CopyControl est basé sur la
création de deux fichiers cachés dans un sous répertoire du chemin

Compatibilité • 15-1
d’installation de la protection. Ces fichiers se nomment CCONTROL.SYS et
<code_produit>.CCC . Ce sont des fichiers standard DOS cachés, systèmes et
en lecture seule. Il est important de ne pas copier, déplacer ou modifier ces
deux fichiers sous peine de destruction de la protection. Toutefois, vous pouvez
sauvegarder votre programme protégé à l’exclusion de ces deux fichiers. Par
exemple, si un disque dur plante vous pouvez utiliser votre sauvegarde pour
réinstaller le logiciel mais vous devez transférer une nouvelle protection valide.
Si vous avez effectué une sauvegarde de tout votre disque et que suite à un
endommagement de fichier vous deviez réinstaller certains fichiers de vos
logiciels, faites bien attention à ne pas écraser la protection valide. Pour cela il
ne faut pas mettre à jour les fichiers cachés (CCONTROL.SYS et
<Code_Produit>.CCC).

Fichiers Supprimés
Certains utilisateurs dispose d’utilitaires permettant de supprimer les fichiers
cachés ou n’ayant pas une grande importance. Les fichiers de protection
CopyControl peuvent en faire partie. Il faut bien prendre garde à ne pas les
effacer. Pour éviter de figurer dans la suppression automatique de certains
utilitaires, CopyControl place les deux fichiers cachés dans un répertoire cachés
également. Certains développeurs informe les utilisateurs qu’il ne doive pas
toucher à ces deux fichiers d’autres préfère attendre un éventuel incident. C’est
comme vous voulez ! Dans tous les cas si les fichiers sont supprimés la
protection est invalide.

Compression de disque
Les systèmes de compression de disque autre que ceux fournis par Microsoft
sont de plus en plus rare. CopyControl est totalement compatible avec ceux
distribués par Microsoft depuis Windows 95. CopyControl est également
compatible les programmes comme DriveSpace, DoubleSpace, SuperStor et
Stacker.
Toutefois, pour vous assurer de ne pas perdre la protection si vous désirez
compresser un disque qui ne l’était pas déjà, nous vous conseillons de déplacer
la protection vers un autre disque ou sur le Master disquette, puis d’effectuer la
compression et de repositionner la protection sur le disque dur compressé, ou
bien d’utiliser la variable d’environnement pour indiquer le nouveau chemin de
la protection (voir "Déplacer la Protection" page 7-1).

Défragmenteur
CopyControl est compatible avec les défragmenteurs de disque comme
Microsoft’s Defrag, Central Point's Compress, Digital Research's Diskopt et
Stac's Sdefrag.

Systèmes de protection des crash


Nuts & Bolts de Helix et Crashguard de Norton (versions inférieures à 2.01)
plante avec CopyControl lors de la vérification de la protection. Vous devez
désactiver ces logiciels si le cas de figure se présente.

Systèmes Antivirus
Si vous utilisez Norton Antivirus vous devez placer à off la protection
automatique, autrement Norton détecte CopyControl comme étant un Virus.
Cela est nécessaire lors de l’installation de la protection ou lors de son
activation. Autrement vous pouvez exclure le fichier CCONTROL.SYS de la liste
de vérification de Norton.

15-2 • Compatibilité
Problèmes connues
• Sur certaines machines, l’activation de l’accès DMA pour le lecteur
CDROM peut entraîner un plantage de CopyControl. Si vous rencontrez
ce problème, sélectionnez Panneau de configuration | Système |
gestionnaire de périphérique | CDROM et décocher l’option DMA.
• Le driver système Sound Blaster SBLIVE pour DOS peut faire planter
CopyControl. Vous devez désactiver ce driver en allant dans votre
Autoexec.bat ou dans le fichier Dosstart.bat.
Pour consulter la liste à jour des problèmes connus vous pouvez consulter notre
site à l’adresse : http://www.aplika.fr rubrique CopyControl

Applications
CopyControl n’a aucun effet sur les applications non protégées installées sur la
machine.
Si autre application protégée par CopyControl et diffuse par un autre éditeur est
présente sur la machine de votre client il n’y a aucune interaction entre les deux
systèmes.

CCAdd options avancées


Dans les options avancées de la version Windows de CCADD, vous pouvez
choisir certaines options de protection qui ne sont pas sélectionnées par défaut
pour permettre la compatibilité maximum avec tous les systèmes d’exploitation.
Ces options peuvent être utilisées mais il faut équilibrer compatibilité et sécurité
selon vos besoins.
Bientôt, il y aura deux nouvelles méthodes additionnelles de protection que
vous pourrez choisir dans cette rubrique:

Emplacement de vérification
Cette méthode vérifie si les fichiers cachés de CopyControl (CCONTROL.SYS
et <code_produit>.CCC) non pas été déplacés, cela permet d’indiquer si il s’agit
de l’installation originale ou d’une copie. Cela permet d’accroître nettement la
sécurité de la protection mais le système de protection peut perturber le bon
fonctionnement des programmes de défragmentation. Si vous demandez aux
utilisateurs de ne pas utiliser de défragmenteur tant que le jeton est installé
vous ne rencontrerez pas de problème.
CCAdd vous autorise à utiliser cette méthode selon les circonstances suivantes:
Compatibilité Maximum - C’est la valeur par défaut. La méthode de
vérification complémentaire n’est utilisée dans aucun des cas.
DOS / Win3.x seulement – Cela permet d’effectuer la vérification sur les
systèmes DOS ou Windows 3.x. Il n’y a pas de programmes connus capable de
corrompre la protection sous ces environnements.
FAT16 – Effectue la vérification sur tous les systèmes d’exploitation utilisant un
système de fichier de type FAT16 (DOS, Win3.x et Windows 95 (A)). Norton
Defrag pour Windows 95 peut détruire la protection sauf si les deux fichiers
caches sont ajoutés à la liste des fichiers non déplaçables.
FAT16 + FAT32 – Comme pour les systèmes FAT16 ci avant décrit, mais la
vérification est également valable pour les systèmes Windows 95B, 98 et
Millénium utilisant les systèmes de fichiers FAT32.

Compatibilité • 15-3
Vérification DFS
Cette méthode de vérification complémentaire permet de déjouer les copieurs
de disque bit à bit cependant la protection n’est pas compatible avec les
programmes de compression logiciel de disque dur comme Stacker, Superstore
et Xtradrive. Par contre le système est compatible avec les nouveaux systèmes
comme DriveSpace.
CCADD vous permet de choisir dans quelles circonstances cette méthode doit
être utilisée:
Jamais – Désactive la méthode.
Décision CopyControl - CCMove décide seul d’installer cette option. C’est la
valeur par défaut.
Tous disques locaux – Cela peut poser certains problèmes avec des anciens
programmes de compression de disque.
Unités locales et réseaux. Problèmes de compatibilités possibles avec des
disques réseau si la présence de logiciel de compression est non détectée sur
le réseau. Des Serveur Non-DOS/Windows peuvent délivrer de mauvaises
informations.

15-4 • Compatibilité
L’option Distributeur

Aperçu rapide
Certains éditeurs de logiciel distribuent leurs applications par le biais de
distributeurs et peuvent trouver plus simple de confier la réalisation d’un nombre
fixe de protections logicielles permettant l’installation de votre logiciel par
l’utilisateur final. Cela peut permettre de solutionner des problèmes de délais de
livraison et d’importation dans certains pays.
Cette méthode est uniquement disponible si vous utilisez la méthode de
protection disquette. Le principe est de fournir à vos distributeurs une version
protégée de votre application, ainsi qu’un disque Master de distribution
CopyControl leur permettant de créer eux-mêmes les disquettes de protection,
capables de faire fonctionner votre logiciel avec les paramètres que vous avez
choisis. Vous autorisez votre distributeur à créer un nombre limité de
protections, ainsi vous contrôlez le nombre de licences commercialisées par ce
dernier.
Pour la méthode de protection Unlock-It vous autorisez vos distributeurs à
activer un nombre limité de protections Unlock-It. Dans ce cas vous devez
acquérir un disque Master Activate pour chacun de vos distributeurs. voir
"Activate" page 16-2.
L’option Distributeur de CopyControl vous permet de créer vos disques Master
de distribution. Vos distributeurs ne peuvent créer que le nombre que vous avez
autorisé de disque Master de protection disquette. Vous contrôlez parfaitement
le nombre de licences distribuées.
Pour utiliser cette fonctionnalité vous devez avoir acquit l’option Distributeur de
CopyControl et chacun de vos distributeurs doit disposer du module Distributeur
CopyControl.

Production d’un Master de distribution


Vous pouvez créer un disque Master de distribution en utilisant CCADD de la
même façon que pour la création d’un disque Master normal à la seule
différence que dans "Type de protection à créer" vous devez spécifier "Master
de Distribution". Vous devez également indiquer le nombre de disques Master
que le distributeur pourra créer en indiquant cette valeur dans le champ
"Nombre de Master qu’un distributeur peut produire".
Les disquettes Master produites avec un disque Master Distributeur ont les
même paramètres de protection que ceux indiqués dans le Master Distributeur
que vous avez produit vous mêmes. Par conséquent, vous pouvez utiliser
CCRemote/CCChange pour modifier les paramètres de protection des disques
Masters ainsi crées. Vos distributeurs ne disposent pas de CCRemote et ne
peuvent pas modifier les paramètres de protection à votre place eux-mêmes.
Vous pouvez également utiliser CCRemote/CCChange pour effectuer des
modifications sur le Master Distributeur. Vous pouvez ainsi autoriser votre
distributeur à créer de nouveaux disques Master en modifiant le champ
"Nombre de Master qu’un distributeur peut produire". Ainsi il est possible
d’autoriser la distribution de nouvelles licences en envoyant un Email ou un Fax.

L’option Distributeur • 16-1


Module distributeur
Le distributeur doit installer le module de distribution (CCMAKE.EXE) sur son
disque dur en utilisant CCMove de façon normale. CCMAKE.EXE est un
programme DOS qui permet au distributeur de créer des disquettes Master.
Pour produire un disque Master normal, le distributeur doit insérer une disquette
vierge formatée non protégée en écriture dans le lecteur puis il doit lancer
CCMAKE. La syntaxe d’utilisation CCMAKE est:
CCMAKE <chemin source> <disque destination>
<code produit> [/x] [/m] [/q] [/e]
Où <chemin destination> est le chemin dans lequel le jeton Master distributeur
est installé, <disque destination> est l’unité contenant la disquette qui doit
devenir le nouveau Master Disquette, <code produit> est votre code produit et
/x /m /q /e sont les options similaires à CCMOVE.
Lorsque la création du nouveau Master est terminée, le nouveau Master
contient le numéro de série (incrémentation séquentielle).
Le numéro de série des disques Master produit par un distributeur doit être
unique il démarre à la valeur du prochain numéro de série spécifié dans le
Master Distributeur. Par exemple, si le numéro de série d’un disque Master
Distributeur est 1000 et qu’il peut créer 10 disquettes Master le dernier numéro
de série sera 1010.
Le distributeur doit pouvoir copier vos fichiers protégés sur la disquette Master
destinée à l’utilisateur final. Pour cela il suffit de placer les fichiers relatifs aux
programmes protégés sur le Master Distributeur. Une fois les fichiers copiés sur
le nouveau Master, la disquette la protection est prête à l’emploi.
Lorsque vous donnez vos instruction aux distributeurs sur l’utilisation de
CCMAKE, il peut être également utile de fournir des explications sur CCMOVE,
CCLOOK et CCCHANGE.

Activate
Si vous désirez autoriser un distributeur ou une tierce partie à activer des
protections Unlock-It de vos programmes protégés, vous devez fournir le logiciel
Activate. Ce programme est une version allégée de CCRemote qui permet
uniquement la génération de codes d’activation de vos jetons Unlock-It.
Lorsque vous achetez un disque Master Activate vous devez spécifier le
nombre d’activations que vous souhaitez autoriser avec Activate. Vous pouvez
commander des droits d’activations supplémentaires ultérieurement.
Si vous désirez autoriser votre distributeur à utiliser CCRemote il est possible
de commander un disque Master CCRemote Only. Pour cela contacter Aplika.

16-2 • L’option Distributeur


La méthode Externe

CCDUM: un exemple
CCDUM.EXE est un exemple de logiciel pour utiliser la méthode externe de
protection (voir "La Méthode Externe" page 4-3). Il s’agit d’un simple
programme qui crée un fichier de données avec quelques données cachées.
Vous pouvez protéger CCDUM.EXE avec CopyControl de façon normale. Cette
méthode n’est généralement pas utilisée pour des applications sous Windows.
Mais elle peut être utilisée lorsqu’il n’est pas possible d’appeler une DLL ou de
lier un module Objet.
Vous devez ajouter à votre programme une ligne de commande réalisant l’appel
à CCDUM et, plus loin dans votre programme vous devez aller lire le fichier de
donnée crée par CCDUM.
CCDUM peut être utilisé avec des programmes écrité en DBASE, LOTUS 1-2-3,
TAS, SMART etc. ou d’autre langage DOS. Vous devez inclure la ligne de
commande faisant appel au programme externe.
A ligne de commande DOS que votre programme doit produire est :
CCDUM <nomfichier_données> <Key> <Offset>
Où <nomfichier_données> est le nom du fichier contenant les données
générées par CCDUM ; <Key> est un nombre compris entre 0 et 65535, il est
bon de le modifier de façon aléatoire ; <Offset> est l’adresse ou l’écriture doit
commencer dans le fichier de données (Première position = 0) ou CCDUM
place une valeur "encryptée". Cette valeur est la somme de <Key> et de
<Offset>.
Par exemple:
CCDUM FILE1 2 14
Cette ligne de commande va créer un fichier FILE1 contenant la valeur 16 (2 +
14) insérée à partir du 15ième octets.
La spécification pour que votre programme exécute une ligne de commande
DOS peut être différente suivant les systèmes utilisés. Dans SMART, pour
l’instance, le préfixe d’une commande normal DOS est COMMAND /C.
Par exemple:
COMMAND /C CCDUM FILE1 2 14
Pour augmenter la sécurité, vous pouvez modifier la valeur <Offset> ainsi que la
valeur de <Key> aléatoirement. La date ou l’heure du jour peuvent permettre
une fonction de random. La valeur de <Offset> doit être inférieure à 1000. La
somme de la valeur <Key> et <Offset> ne doit pas dépasser 32768.
Plus loin dans votre programme, vous pourrez lire la valeur stockée dans le
fichier et ainsi vérifier le contenu (emplacement correct et valeur correcte) et en
déduire si la protection est OK. Si le fichier n’existe pas ou si la valeur est
incorrecte (Key + Offset), vous savez que CCDUM n’a pas été correctement
exécuté, ainsi vous êtes en présence d’une copie invalide. La valeur (Key +
Offset) mémorisée est une chaîne ASCIIZ sans guillemets.
Note : CCDUM est un simple programme présenté ici à titre d’exemple. Il y a
bien d’autres façons d’utiliser cette méthode. Vous pouvez rendre la protection

La méthode Externe • 17-1


plus sure en réalisant vous-même votre propre programme externe. Vous êtes
libre d’utiliser ou non CCDUM. Dans tous les cas nous vous suggérons de
renommer ce programme si vous souhaitez l’utiliser
Si vous désirez utiliser la limite du nombre simultané d’utilisateurs réseau avec
cette méthode il vous faut créer un programme externe qui fera appel à la
fonction 0 puis à la fonction 6 afin de gérer correctement l’ouverture et la
fermeture de la session réseau utilisateur. Voir "Utiliser la Fonction 6 pour
fermer une session utilisateur réseau" page 11-2 pour plus de détails.

17-2 • La méthode Externe


Autoloaders

L’option Autoloader
Si vous avez acheté l’option Autoloader de CopyControl, vous pouvez utiliser
les fonctions spéciales prévues pour la pose automatique de protection via un
système autoloader.
Si vous protégez un grand nombre de disquettes Master, et que vous disposez
d’un système autoloader, l’option autoloader est faites pour vous. En effet avec
la version standard illimitée de CopyControl, la protection de disquettes devient
de plus en plus lente. Après 8 créations de disquette Master chaque nouvelle
création de disquette ralentira le système de 2 secondes. Il faut redémarrer
CCADD pour créer de nouveau des disquettes Master à vitesse normal.
CopyControl peut utiliser tous les autoloader piloter par PC. Les lecteurs simple
vitesse sont les seuls à être supportés pour le moment.
Un grand nombre d’autoloaders utilise le protocole Mountain pour le pilotage du
robot de duplications. CopyControl peut accéder directement au robot de
duplication avec ce protocole via le port série. Dans le cas ou votre robot de
duplication ne supporte pas le protocole Mountain il est également possible
d’utiliser des routines spéciales permettant l’insertion d’un nouveau disque,
l’éjection etc.
En plus des commandes compatibles Mountain pour l’insertion et l’éjection
d’une disquette, CopyControl peut exécuter la routine spéciale d’insertion de
disquette (AL_PRE) avant la pose de la protection puis CopyControl peut faire
appel à un autre programme après la pose de la protection. Le programme à
exécuter après la pose de la protection est AL_GOOD si la pose de la
protection a réussit avec succès, ou AL_BAD si la protection n’est pas posée
correctement.
C’est trois programmes peuvent être crées selon votre choix. Vous pouvez les
construire de la manière dont vous le souhaitez. Par exemple ils peuvent avoir
les actions suivantes:
• AL_PRE Insertion d’une disquette (si le robot n’est pas
compatible Moutain), formate la disquette et copie le
logiciel.
• AL_GOOD Ejection de la disquette dans le bac "Production OK".
• AL_BAD Ejection de la disquette dans le bac "Rebut".
Les programmes peuvent être de type .BAT, .EXE ou .COM. Le plus simple
d’utilisation est le fichier .BAT qui utilise les commandes de base du pilotage du
robot de duplications. Si CCADD ne trouve aucun de ces programmes sur le
disque courant, il essaye de fonctionner sans (c’est à dire qu’il n”y a pas de
message d’erreur affiché).
Il est également disponible avec CopyControl un programme DOS appelé
CC_ERROR.EXE. Ce programme peut être appelé depuis vos routines
AL_PRE, AL_GOOD ou AL_BAD pour indiquer à CCADD si une erreur à été
rencontrée. CCADD initialise CC_ERROR à 0 avant l’exécution de AL_PRE,
AL_GOOD ou AL_BAD. La valeur 0 indique qu’il n’y a pas d’erreur. La valeur 1
indique à CCADD qu’il doit se fermer. Toutes les autres valeurs signalent une
erreur d’exécution.

Autoloaders • 18-1
Par exemple, pour envoyer le code d’erreur 123 à CCADD, vous devez
exécuter:
CC_ERROR 123

Utiliser l’option autoloader dans CCAdd


Démarrer la plate-forme du développeur et sélectionner CCADD. Cliquez sur le
bouton configuration autoloader pour ouvrir la boîte de dialogue qui vous
permettra d’effectuer les réglages suivants:
• Activer les fonctions autoloader?
• Port de communication Autoloader.
• Nombre de disquettes à protéger.

Activer les fonctions Autoloader?


Pour protéger des disquettes en utilisant le mode autoloader, vous devez
cocher cette case.
Si les fonctions autoloader sont désactivées, CCAdd se comporte de la même
façon qu’une version non-autoloader.

Port de communication autoloader


CopyControl peut piloter directement un robot de duplication utilisant le
protocole Mountain via le port série. Si le protocole Moutain n’est pas supporté il
faut utiliser vos propres routines AL_PRE, AL_GOOD et AL_BAD comme décrit
ci-avant.
Si le protocole Moutain est supporté vous devez préciser le numéro du port
série utilisé pour communiquer avec le robot de duplication. Autrement,
sélectionnez “Non”.

Nombre de disquettes à protéger


Entrez un nombre entre (1 et 65535) de disquettes à créer automatiquement.
CopyControl décompte le nombre de disquettes protégées à chaque fois qu’une
disquette est protégée avec succès, si une erreur fatale se produit ou si CCADD
récupère un message d’erreur avec CC_ERROR le décompte n’est pas
effectué.
Si vous utilisez la version DOS de CCADD.EXE, vous pouvez utiliser en
argument l’option (/a). La syntaxe exacte pour ce paramètre est /a=n où n est
le nombre de disquettes Master à produire (1 - 65535) avant de fermer CCADD.
Avec certains robots de duplication il est plus facile de dupliquer le logiciel sur la
disquette puis de réaliser la pose de la protection dans un deuxième temps.

18-2 • Autoloaders
Codes d’erreur

Aperçu Rapide
Chaque programme CopyControl retourne un code de retour. Dans le cas des
programmes DOS, ce code de retour ou code d’erreur est initialisé avant de
retourner au DOS. Ainsi le code de retour peut être testé dans un fichier Batch
avec la commande IF ERRORLEVEL. CopyControl peut également si vous le
souhaitez afficher ce code d’erreur ou ne pas afficher de code d’erreur. Si
nécessaire, vous pouvez utiliser la commande SET CC_ERRCODE=ON pour
forcer l’affichage du code.
Quelques codes d’erreur sont constitués de plusieurs valeurs séparées par des
/. Dans certains cas de figure vous pouvez vous reporter à la liste des codes
d’erreur correspondant à l’application retournant ce code. Pour chaque
application vous trouvez ci-après une table de code d’erreur correspondants.
Des explications vous permettront même de pouvoir résoudre vous-même
certains problèmes. Pour plus d’aide en cas de problème reportez vous à la
section "Erreurs connues" page 20-1. ou consultez notre site Internet dans la
rubrique CopyControl http://www.aplika.fr.

Codes d’erreurs du Run-time


CopyControl
Lorsque votre programme protégé démarre, la protection est testée par le Run-
Time de CopyControl. Vous trouverez ci-dessous, la liste des codes d’erreur qui
peuvent vous être retournés. Si la protection est paramétrée pour afficher les
codes d’erreur ils sont affichés sans le signe -.
0 Succès.
-2 Mémoire RAM insuffisante.
-3 Fichier CCCONTROL.SYS et <code_produit>.CCC
incompatibles.
-4 Empreintes disquettes non trouvées – il s’agit d’une
protection réalisée avec un copieur bit à bit.
-6 Impossible de déterminer la configuration de l’unité.
-8 Empreintes disquettes invalides – il s’agit d’une
protection réaliser avec un copieur bit à bit.
-9 DOS (fonction 1ch) indique qu’il s’agit d’une disquette
(CopyControl pense que non).
-10 Erreur d’écriture sur l’unité.
-11 Erreur de lecture sur l’unité.
-12 Erreur de lecture sur l’unité.
-13 Erreur d’écriture sur l’unité.
-14 Disquette protégée en écriture.
-15 Erreur d’écriture sur la disquette.

Codes d’erreur • 19-1


-18 Les fichiers CCONTROL.SYS et .CCC fichiers sont
incompatibles. Cela peut être du à une corruption des
fichiers ou à la présence de fichier CCONTROL.SYS
et .CCC dans la racine du disque. Supprimer les
fichiers de ce type se trouvant dans la racine du
disque. Autrement, réinstallez une nouvelle protection.
-19 Produit non installé sur ce disque.
-20 Le programme n’est pas dans la liste des programmes
protégés. Démarrez CCLook pour trouver la liste des
programmes protégés par la protection. Vérifiez ainsi
que le nom du programme que vous démarrez est
bien présent dans la liste des programmes protégés.
-21 CCONTROL.SYS a probablement été déplacé.
-22 .CCC a probablement été déplacé.
-23 N’est pas autorisé à fonctionner depuis le Master.
-24 Le nombre d’exécution a atteint la limite.
-25 La date limite est dépassée.
-26 Mauvais numéros de série. – Ce programme à été
protégé avec un autre numéro de série que celui de la
protection trouvée sur le disque. Cela peut arriver si
vous avez protégé plusieurs fois le même programme
en méthode Shell par exemple (avec des numéros de
série différents).
-28 CCONTROL.SYS non trouvé c’est à dire que
CopyControl n’arrive pas à trouver la protection. Il y a
plusieurs causes possibles pour que cela arrive:
La protection n’est pas actuellement présente.
Veuillez démarrer CCLOOK pour vérifier
l’emplacement de la protection.
CC ne peut pas trouver la protection. CC va
rechercher la protection respectivement dans les
emplacements suivants:
Le répertoire spécifié par CC_PATH_<PROD_CODE>
(si il existe).
Le répertoire courant (de l’unité courante).
Le répertoire d’exécution du logiciel protégé.
Le répertoire spécifié dans le champ dir du CCMB.
Si vous utilisez CC.DLL ou CC32.DLL vous utilisez
peut être la mauvaise DLL ou une autre copie de la
DLL dans un répertoire qui ne contient pas la
protection.
-29 Erreur de lecture du fichier .CCC (probablement non
présent).
-32 Erreur de changement des attributs du fichier.CCC.
Vérifier que vous disposez des droits nécessaires ou
utilisez CCMOVE pour spécifier les attributs normaux
à la protection.
-33 Impossible d’ouvrir le fichier .CCC en écriture. Vérifiez
vos droits d’accès réseau.
-34 Erreur d’accès au fichier .CCC.
-35 Erreur d’écriture du fichier .CCC.
-36 Erreur d’écriture du fichier .CCC.
-37 Erreur de modifications d’attributs du fichier .CCC
(voir erreur -32).
-43 Erreur de sélection d’unité.

19-2 • Codes d’erreur


-45 Impossible de modifier le répertoire courant de
CopyControl.
-46 Erreur de sélection d’unité.
-47 Protection invalide.
-48 Protection invalide.
-49 Protection invalide.
-55 Protection invalide.
-57 Erreur d’accès au fichier .CCC.
-58 Erreur de vérification de la Date/heure.
-59 Contrôleur de disquettes incompatible.
-60 Nom de fichier invalide.
-61 JOIN est chargé.
-62 Empreinte disquette invalide.
-63 La date est 1/1/1980 – date non autorisée.
-64 La date à été reculée – Vous devez ré-initialiser la
dernière date d’utilisation.
-65 Erreur d’accès à la disquette.
-66 Permission non autorisée pour ce type d’unité.
-67 Trop d’utilisateurs réseau simultanés connectés ou
droits d’accès réseau incorrect.
-68 Fonction du module.OBJ invalide.
-69 Empreinte disquette invalide.
-70 Type d’unité inconnu.
-71 CCADD n’a pas exécuté le programme contenant le
module .OBJ. (programme non protégé). Vous pouvez
également obtenir ce code si vous avez indiqué la
méthode Shell pour un programme contenant un
module objet. Attention si vous utilisez la méthode
objet avec la DLL CopyControl il est nécessaire de
protéger la DLL avec CCADD.
-74 Erreur utilisateurs réseau.
-76 Empreinte disquette invalide.
-77 Empreinte disquette invalide.
-78 Mauvais code produit, c’est à dire qu’il ne correspond
pas avec celui du fichier .CCC.
-79 Mauvais numéro de série CopyControl - Le
programme a été protégé avec une version
CopyControl portant un numéro de série différent de
celui de la protection.
-80 Chemin Novell trop long.
-81 Empreinte disquette invalide.
-82 Erreur d’accès au fichier Novell.
-83 Erreur d’accès au fichier Novell.
-84 Nom de fichier invalide.
-85 Nom de fichier invalide.
-102 Unité invalide.
-103 Nom de fichier invalide.
-104 Chemin invalide.
-106 Mémoire conventionnel RAM insuffisante sur machine
Windows 286.

Codes d’erreur • 19-3


-107 Mémoire conventionnelle RAM insuffisante pour
vérifier la protection sur la disquette sous Windows
(40k sont requis).
-108 Erreur d’accès au fichier Novell.
-113 Pas de service DPMI trouvé. Assurez-vous de ne pas
utiliser le mode standard ou Réel de Windows 3.x.
-114 Erreur d’accès au fichier Novell.
-115 Erreur d’accès au fichier Novell.
-116 Erreur d’accès au fichier Novell.
-117 Erreur de création de fichier dans le répertoire de
CopyControl. Vérifiez vos droits d’accès réseau. Cela
peut être également dû à la présence d’un sous-
répertoire NFS et d’un autre NFT dans le répertoire de
CopyControl. Un seul de ces répertoires doit être
présent pour un fonctionnement normal. Pour
supprimer le bon, renommez l’un d’entre eux et
redémarrez le programme. Une fois le bon répertoire
repéré supprimez le.
-118 Erreur d’écriture dans le répertoire CopyControl.
Vérifiez les droits d’accès réseau.
-119 Erreur d’accès au répertoire CopyControl.
-120 Empreinte disquette non trouvée. – dû à un lecteur de
disquettes non compatible.
-121 Droits d’accès incorrects.
-123 Impossibles de déterminer les caractéristiques de
l’unité.
-124 'CCMB' absent du CCMB.
-125 COMSPEC non trouvé dans cet environnement.
-126 Empreinte disquette invalide.
-127 Empreinte disquette invalide.
-129 Empreinte disquette invalide.
-130 Empreinte disquette invalide – probablement copie
issue d’un copieur bit à bit.
-134 Fichier .CCC corrompu – probablement du à
l’utilisation d’une mauvaise version de CCMove.
-135 Nombre d’utilisateurs réseau simultanés supérieur à
999.
-136 Erreur d’accès à l’empreinte disquette.
-137 Protection corrompue.
-138 Erreur d’écriture sur l’unité – la protection est
certainement désormais corrompue.
-139 Type d’unité inconnue.
-140 Type d’unité inconnue.
-142 Erreur à la vérification de l’empreinte de la disquette.
-146 Erreur de lecture de la disquette.
-147 Erreur de lecture de la disquette.
-148 Erreur d’écriture de la disquette.
-149 Erreur de lecture de la disquette.
-150 Protection issue d’un CCMove qui à été interrompu.
-151 fonctions DOS non supportées.
-152 Protection invalide.
-153 CCONTROL.SYS non trouvé pour ce produit.

19-4 • Codes d’erreur


-154 Erreur d’accès au répertoire CopyControl.
-155 Protection invalide. Il y a deux cas de figure pour cette
erreur:
Depuis un réseau.
Sur une machine mono poste.
Si vous obtenez l’erreur depuis un réseau:
L’erreur apparaît sur seulement quelques machines
du réseau.
L’erreur à lieu sur toutes les machines.
Solutions:
1)i. Veuillez vérifier l’heure de la machine.
Eventuellement forcer la à se synchroniser avec
l’heure du réseau.
1)ii. et 2) Le jeton a été corrompu. Cela est
du à une sauvegarde ou à une copie des fichiers de
protection. Autrement vous obtiendriez un autre code
d’erreur en premier. Vous devez ré-installer le jeton.
-156 CopyControl incompatible dans cet environnement.
-157 Echec de la fonction DOS.
-158 Erreur Novell avec CCONTROL.SYS.
-159 Erreur Novell avec le fichier .CCC.
-160 Erreur Novell avec le fichier .CCC.
-163 Mémoire DOS RAM insuffisante sous DOS Extender.
-164 Erreur de libération DOS RAM.
-166 Chemin spécifié invalide.
-167 Erreur d’accès pour la vérification virus –
probablement un programme Windows. La vérification
virus a certainement été interrompue, cette erreur
n’empêche pas votre logiciel de fonctionner.
-168 Erreur d’accès au programme protégé.
-169 Erreur d’accès au programme protégé.
-170 Erreur d’accès au programme protégé.
-171 Erreur d’accès au programme protégé.
-172 Erreur d’accès au programme protégé.
-173 Le programme protégé à été modifié – probablement
par un virus.
-174 Echec du décompte du nombre d’utilisateurs réseau.
-185 Augmentez la valeur de FILES dans CONFIG.SYS.
-187 Empreinte disquette invalide.
-188 Fichier .CCC corrompu.
-189 à -204
Erreur d’accès à la mémoire de Windows.
-205 Espace buffer insuffisant.
-206 Mémoire Windows insuffisante.
-209 Impossible de déterminer la configuration de l’unité.
-210 CCMB.champ Net_user_data corrompu.
-211 Erreur d’allocation mémoire.
-212 Erreur d’allocation mémoire.
-213 Copie Unlock-It inactive. Il faut l’activer!
-215 Vérification du nombre d’utilisateurs simultanés non
supportée. Si FTP PCTCP sont utilisés, assurez-vous

Codes d’erreur • 19-5


que le fichier PCTCP.INI contienne bien LOCK=YES
dans la section nDrive où n est la lettre de l’unité
réseau.
-230 Echec de la fonction DOS.
-231 Protection invalide.
-232 Erreur de lecture du disque.
-233 vous tentez d’installer une protection disquette sous
NT sans avoir coché la case compatible NT dans
CCADD. Vous devez réaliser une installation Unlock-It
ou fournir une protection compatible NT.
-234 Protection invalide.
-235 Echec de la fonction DOS.
-236 Protection corrompue.
-237 Erreur d’allocation mémoire. Certainement dû à
l’appel de CCDLL2 sans avoir utilisé CCDLL2_OPEN
au préalable.
-238 CCMB non trouvé. Probablement car
CCDLL2_OPEN n’a pas été exécutée avant l’appel
des autres routines de CCDLL2.
-239 L’adresse du CCMB fournis à CCDLL2 pointe sur la
fin du CCMB
-240 Debuggeur ou Bounds Checker en fonctionnement.
-241 Debuggeur en fonctionnement.
-1001 Erreur d’obtention du répertoire de Windows.
-1002 Erreur à la création du fichier CC3216??.
-1005 Erreur à la création/ouverture d’un fichier. Vérifiez les
droits d’accès dans le répertoire temps de Windows.
-1006 Erreur d’écriture dans un fichier. Vérifiez les droits
d’accès dans le répertoire temps de Windows.
-1007 Erreur d’ouverture d’un fichier. Vérifiez les droits
d’accès dans le répertoire temps de Windows.
-1008 Erreur d’écriture d’un fichier. Vérifiez les droits
d’accès dans le répertoire temps de Windows.
-1009 Echec de la fonction CreateProcess.
-1011 Erreur d’ouverture d’un fichier. Vérifiez les droits
d’accès dans le répertoire temps de Windows.
-1012 Erreur de lecture du fichier.
-1013 Erreur de lecture du fichier.
-1016 Echec du processus.
-1017 Echec de la fermeture du processus.
-1018 Echec à la suppression du fichier.
-1022 Manque les informations Try-It.
-1023 Information Try-It manquante ou invalide.
-1024 Erreur d’accès à la base de registre.
-1025 à -1026 Impossible d’accéder à la clé de registre. Protection
Try-It non installée ou corrompue.
-1027 à -1032 Information Try-It manquante ou invalide.

Codes d’erreurs CControl


512 Impossible de démarrer CCAdd ou CCRemote.

19-6 • Codes d’erreur


513 Erreur de lecture du fichier CCREMOTE.DAT.
514 Echec à la fermeture du processus.
515 Erreur d’écriture dans un fichier .CCP ou .CCR.
516 Erreur à la création de chemin (16-bit).
517 Erreur d’ouverture de boîte de dialogue.

Codes erreurs CCAdd


CCAdd est lui-même CopyControlé. A son démarrage deux types d’erreur
peuvent avoir lieu : les erreurs de Run-Time et les erreurs de CCAdd. Les
messages d’erreur intervenant avant la confirmation de l’ouverture de CCADD
sont liées au Run-Time (voir "Codes d’erreurs du Run-time CopyControl" page
19-1). Les autres sont liées à CCAdd et sont décrites dans le tableau ci-après.
0 Succès.
1 Version DOS inférieur à 2.00.
2 Numéro de série de la ligne de commande invalide.
3 Disquette destination protégée en écriture.
4 Unité spécifiée dans la ligne de commande invalide.
5 Tentative de protection Normale sur un disque contenant
déjà un fichier CCONTROL.SYS.
6 Unités inconnues.
8 Mémoire insuffisante.
9 Numéro de série spécifié invalide.
10 Tentative de protection normale sur un disque dur ou sur
une unité réseau.
11 Erreur d’accès au disque contenant CCAdd.
12 Version incrémentale expirée – commander des jetons.
14 Mot de fonctions spécifié invalide.
15 Erreur d’accès à l’unité contenant CCAdd.
16 Echec lors de l’ajout de l’empreinte disquette.
Sous codes:
92 Espace disque insuffisant.
97 Secteur boot disquette invalide (virus ou mauvais
formatage).
99 Disquette contenant des secteurs défectueux avant
l’utilisation de CCAdd. CCAdd va marquer les
secteurs défectueux pour permettre l’installation de
la protection. Il est plus sûr d’effectuer un
formatage complet de la disquette (options /U et
/C sous DOS) avant de réutiliser cette disquette.
100 La disquette contient une FAT invalide.
101 La disquette contient une FAT invalide.
186 Esc effectué avant la pause de l’empreinte de la
disquette.
18 Erreur d’accès disque.
19 Espace mémoire insuffisant.
20 Nombre de copies spécifié invalide.
21 La destination est SUBSTituée ou ASSIGNée.
22 Les instructions de AL_PRE, AL_GOOD ou AL_BAD ont
été interrompues.

Codes d’erreur • 19-7


23 AL_GOOD ou AL_BAD ont retourné une erreur – Essayez
une autre disquette.
25 Erreur d’accès à la disquette (probablement non présente
ou pas formatée).
26 Valeurs spécifiées dans la ligne de commande invalides.
31 Erreur de création du fichier CCONTROL.SYS sur la cible.
32 Erreur d’accès au fichier CCONTROL.SYS sur l’unité de
CCAdd.
33 Erreur d’accès au fichier CCONTROL.CCC sur l’unité de
CCAdd.
34 Erreur de création du fichier CCONTROL.CCC sur la cible.
37 Erreur d’accès à l’unité de destination.
39 Erreur Exec (AL_PRE).
40 Erreur Exec (AL_GOOD ou AL_BAD).
41 AL_PRE retourne une erreur – Essayez une autre
disquette.
42 AL_POST retourne une erreur – Essayez une autre
disquette.
43 Erreur d’ajout du fichier de protection.
Sous codes:
2 Fichier non trouvé.
3 Mémoire insuffisante.
4 Erreur de lecture du fichier.
5 Erreur d’écriture du fichier (probablement disquette
pleine).
7 Erreur d’écriture du fichier (probablement disquette
pleine).
10 Protection spécifiée de type Objet et module OBJ
non trouvé.
11 Protection spécifiée de type Shell fichier non .EXE
ou .COM.
13 Module OBJ compressé.
15 Fichier déjà protégé.
17 DOS stub ou Windows EXE trop long.
18 Entête EXE invalide.
19 Fichier apparu depuis une DLL Windows.
21 CCAdd et le module OBJ sont de versions
différentes.
22 Impossible de protéger ce programme 32-bit en
méthode Shell. Utilisez la méthode objet à la
place.
95 Erreur Autoloader à l’éjection de la disquette.
96 Erreur Autoloader à l’insertion de la disquette.
97 Erreur Autoloader à l’initialisation.
Sous codes:
2 Impossible d’établir la communication.
3 Echec de la commande de calibration.
98 Erreur d’accès à CCONTROL.CCC sur l’unité de CCAdd.
99 Erreur d’accès au fichier CCONTROL.CCC.
175 Erreur d’accès au programme qui doit être protégé.
176 Erreur d’accès à CCADD_1.OVL.

19-8 • Codes d’erreur


177 Erreur d’accès au programme qui doit être protégé.
178 Erreur d’accès au programme qui doit être protégé.
179 Erreur d’accès à CCADD_1.OVL.
182 Impossible d’ajouter la protection à ce programme
Windows.
183 Impossible d’ajouter la protection à ce programme
Windows.
184 CCADD_1.OVL non trouvé sur l’unité courante.
186 Esc frappé par l’utilisateur.
207 Erreur d’allocation mémoire.
208 Erreur d’allocation mémoire.

Codes d’erreurs CCMove


Les codes d’erreurs de CCMove sont constitués de plusieurs chiffres séparés
par un /. Les codes du tableau ci-après correspondent au premier chiffre du
code d’erreur. Les chiffres suivants sont liés à une erreur Run-Time (voir
"Codes d’erreurs du Run-time CopyControl" page 19-1).
0 Succès.
1 Version DOS inférieur à 2.00.
2 Syntaxe incorrecte.
3 Disquette protégée en écriture.
4 Impossible d’installer la protection sur ce disque.
5 Erreur d’accès au répertoire.
6 Impossible d’effacer les fichiers du répertoire CopyControl.
Cette erreur à lieu si vous tentez de désinstaller la
protection et que le programme protégé est encore en
fonctionnement.
Théoriquement cela cause toujours une violation d’accès à
la protection. Il est donc nécessaire de fermer les
applications protégées avant le transfert de la protection
avec CCMOVE.
Si vous désirez quand même déplacer la protection sans
fermer le programme protégé il vous faut positionner le bit 5
de flags1 à 1 (exemple flags1 = 32) lors de la vérification de
la protection avec la fonction 0.
7 Impossible de déterminer la configuration de l’unité de
destination.
9 Impossible de déterminer la configuration de l’unité de
destination.
10 Exécution de CCMove trop longue.
11 Erreur d’écriture du fichier .CCC sur le disque source.
12 Erreur d’écriture du fichier .CCC sur le disque destination.
13 Ni la source Ni la destination ne sont un disque Master.
14 Mauvaise version de CCMove pour ce produit.
16 Erreur d’écriture du fichier .CCC sur le disque destination.
17 Erreur d’accès à CCONTROL.SYS.
18 Protection invalide sur le disque source.
19 Erreur d’accès au répertoire.
20 Erreur d’appel DOS.
21 La destination est un lecteur de disquette réseau.

Codes d’erreur • 19-9


22 Erreur à la création du fichier .CCC sur le disque
destination. Pour Try-It cela signifie que vous tentez de ré-
installer une protection alors qu’elle est déjà présente.
23 Source et destination sont tous les deux des disques
Master.
24 Mémoire insuffisante.
25 Erreur d’écriture du fichier .CCC sur le disque destination.
26 Tentative de transfert vers RAM_disque.
27 Erreur d’accès du fichier .CCC sur le disque source.
28 Impossible de protéger la disquette de destination –
probablement car elle a des secteurs défectueux.
29 Sous-répertoire cache non trouvé.
30 Fermeture utilisateur.
31 Impossible de créer le répertoire sur le disque de
destination. Soit il existe déjà ou bien vous tentez de créer
le sous répertoire dans deux niveaux de répertoire
(exemple destination est C:\produits\produit1 ou produits
n’existe pas).
32 Plus de copies autorisées.
33 Ce produit n’est pas installé sur le disque source.
34 Le fichier .CCC est manquant ou invalide dans le disque
source.
35 La destination contient déjà une protection pour ce produit.
36 Unité de destination inconnue.
37 Erreur de vérification du statut de protection de la disquette
Master. Sous codes:
-12 Impossible de lire la disquette. Le contrôleur est
incompatible ou la disquette est hors service.
-14 la disquette est protégée en écriture.
-139 le répertoire racine du disque dur contient un
fichier CCONTROL.SYS invalide.
38 Erreur de création du répertoire caché.
39 Impossible de déplacer la protection sur une unité réseau.
40 Impossible de déplacer la protection sur un disque dur.
41 Impossible de déplacer la protection sur une disquette.
42 Retour sur le disque Master avec un mauvais numéro de
série.
43 La disquette est protégée en écriture.
44 Erreur de suppression de l’ancien fichier .CCC.
45 Erreur d’accès au disque.
46 Erreur d’accès au disque.
47 La source ne contient pas de protection valide.
48 Le disque source est un Master invalide. Le sous code
explique normalement pourquoi (voir "Codes d’erreurs du
Run-time CopyControl" page 19-1).
49 Disque Master invalide dans le disque de destination. . Le
sous code explique normalement pourquoi (voir "Codes
d’erreurs du Run-time CopyControl" page 19-1).
50 Erreur de création du fichier CCONTROL.SYS sur le disque
destination.
Sous codes:
1 Protection invalide déjà existante. Supprimer la et
recommencer

19-10 • Codes d’erreur


?/2 impossible de créer le fichier dans le répertoire
CopyControl. Vérifier que le répertoire CopyControl
n’existe pas sous forme de fichier.
51 Mauvaise version de CCMove pour ce produit.
52 Erreur de suppression de l’ancien fichier CCONTROL.SYS.
53 Chemin spécifié invalide.
54 Erreur de suppression du sous-répertoire caché.
55 impossible de créer le sous-répertoire caché.
56 Erreur d’écriture sur le disque.
57 Erreur d’accès à CCMOVE.DLL.
58 Pas de fichier temporaire restant. Veuillez effacer les
fichiers de la forme CC_____?.EXE et CC_____?.DAT
dans le répertoire de Windows.
59 Erreur d’accès à CCMOVE.DLL ou problème d’écriture
dans le répertoire Windows.
60 Erreur d’exécution CCMove.
61 Erreur d’accès au répertoire Temps de Windows.
62 Erreur d’allocation mémoire dans le répertoire Temps de
Windows.
63 Erreur d’accès au répertoire Temps de Windows.
64 CCMOVE.DLL déjà utilisée, re-essayez plus tard.
65 Erreur d’accès au répertoire Temps de Windows.
66 Erreur d’accès au répertoire Temps de Windows.
67 Impossible d’utiliser CCMOVE.DLL pour déplacer la
protection sur le même disque. Utilisez CCMOVE.EXE à la
place.
70 Impossible de désinstaller la copie Unlock-It installée.
71 Impossible de désinstaller une copie normale vers un
Master Unlock-It.
72 Impossible d’écraser une copie installée depuis un mauvais
disque Master.
73 Impossible d’installer sur un lecteur de disquette réseau.
74 Impossible d’utiliser l’option VMS sur un disque local.
76 Impossibles de désinstaller une copie de distribution vers
un disque Master autre que la Master distributeur.
77 Echec de la vérification de protection sur le disque Master.
80 Impossible de créer le répertoire de destination.
81 Tentative d’installation Try-It sur une machine ou elle a déjà
été installée.
82-87 Impossible d’accéder au répertoire Windows\System,
vérifiez les droits d’accès ou démarrez avec les droits
administrateurs.
88 Erreur de création de protection Try-It sur cette machine.
Vérifiez les droits d’accès ou démarrez avec les droits
administrateurs.
89-90 Erreur d’accès au répertoire Windows.
92 Impossible de créer le fichier .exe dans le répertoire Temp
de Windows. Peut être dû à des restrictions sous NT.
93 Erreur d’écriture dans le répertoire de Windows.
94 Echec de processus de création.
95 Sous-processus non correctement terminé. Essayez
d’utiliser CCMOVE DOS.

Codes d’erreur • 19-11


97 Impossible de lire le fichier temporaire.
100 Erreur d’exécution du fichier CCMove sous Windows. Sous
codes:
2 Chemin source invalide.
3 Impossible de créer le répertoire de
destination.
92-97 Voir liste ci-dessus.

Codes d’erreurs CLook


0 Succès.
1 Version DOS inférieure à 2.00.
2 Mémoire insuffisante.
3 Fichier .CCC corrompu.
4 Unité spécifiée invalide.
5 Type d’unité inconnu.
7 Fichier CCONTROL.SYS non trouvé.
8 Erreur de détection du type d’unité.
92 Impossible de créer le fichier .exe dans le répertoire Temp
de Windows. Peut être du à des restrictions sous NT.
93 Erreur d’écriture dans le répertoire Temp de Windows.
94 Echec du processus de création.
95 Processus non correctement terminé.

Codes d’erreurs CCRemote


CCRemote est protégé contre la copie par CopyControl. Il peut retourner un
code d’erreur lié au Run-Time voir "Codes d’erreurs du Run-time CopyControl"
page 19-1. En plus de ces codes, CCRemote peut retourner ses propres codes
d’erreurs.
0 Succès.
1 Protection non trouvée.
2 Erreur Interne.
3 Protection non trouvée.
5 CCRemote corrompu.
6 Code trop long.
7 Erreur de lecture du fichier d’entré.

Codes d’erreurs CCChange


0 Succès.
1 Mauvaise ligne de commande en paramètres.
2 Version incorrecte.
3 Erreur de détection du type d’unité.
4 Le disque n’est pas un disque Master.
5 Fichier CCONTROL.SYS valide non trouvé.
6 Disquette protégée en écriture.

19-12 • Codes d’erreur


7 Fichier .CCC valide non trouvé.
8 Mémoire insuffisante.
16 Erreur d’écriture sur le disque Master.
17 Erreur d’écriture sur le disque Master.
30 Pas de chemin ou de code produit spécifié.
31 Pas de code produit spécifié (Il est nécessaire de la
préciser si plus d’une protection est détectée à
l ‘emplacement spécifié).
32 L’installation Unlock-It doit d’abord être activée.
33 Fichier entré non trouvé.
34 Erreur de modification du numéro de série.
35 Erreur de lecture du fichier data
38 Code saisi invalide.
40 Paramètre de protection inconnu dans le code.
42 Code généré pour une autre version.
43 Mauvais disque Master (numéro de mise à jour incorrect,
numéro de série ou code produit).
44 Ce numéro de mise à jour à déjà été utilisé.
45 Impossible de déplacer une copie inactive.
59 Erreur d’accès à CCCHANGE.DLL ou problème d’écriture
dans le répertoire Temp de Windows.
60 Erreur d’exécution CCChange.
61 Erreur d’accès au répertoire Temp de Windows.
62 Erreur d’allocation mémoire dans le répertoire Temp de
Windows.
63 Pas de fichier temporaire restant. Veuillez effacer les fichier
de la forme CC_____?.EXE et CC_____?.DAT dans le
répertoire de Windows.
64 CCCHANGE.DLL déjà utilisé, essayezplus tard.
65 Erreur d’accès au répertoire Temp de windows.
66 Erreur d’écriture dans le répertoire Temp de Windows.
71 Syntaxe incorrecte.
72 Fonctionnement impossible de Windows pour le moment.
74 Impossible de créer le fichier temporaire.
92 Impossible de créer le fichier .exe dans le répertoire Temp
de Windows. Peut être dû à des restrictions sous NT.
93 Erreur d’écriture dans le répertoire Temp de Windows.
94 Echec du processus de création.
95 Sous-processus non correctement terminé. Essayez
d’utiliser CCCHANGE DOS.
99 Erreur de création du fichier temporaire.
100 Erreur d’exécution de CCChange Windows.
Sous codes:
2 Chemin de protection invalide.
92-97 voir liste ci-dessus.

Codes d’erreurs CCMAKE


CCMake est protégé contre la copie par CopyControl. Il peut retourner un code
d’erreur lié au Run-Time. Voir "Codes d’erreurs du Run-time CopyControl" page

Codes d’erreur • 19-13


19-1. En plus de ces codes, CCMake peut retourner ses propres codes
d’erreurs).
0 Succès.
1 Version DOS inférieure à 2.00.
2 Syntaxe incorrecte.
4 Impossible d’installer sur ce disque.
7 Impossible de déterminer la configuration du disque de
destination.
12 Erreur d’écriture du fichier .CCC sur destination.
22 Erreur d’écriture du fichier .CCC sur destination.
24 Mémoire insuffisante.
26 Tentative de transfert vers RAM-disque.
28 Impossible de protéger la disquette destination –
probablement secteurs défectueux.
30 Fermeture utilisateur.
34 Fichier .CCC source manquant. Ou invalide.
43 Disquette protégée en écriture.
50 Erreur de création du fichier CCONTROL.SYS sur la
disquette.
53 Chemin spécifié invalide.
59 Erreur d’accès au fichier CCMOVE.DLL ou d’écriture dans
le répertoire Windows.
66 Erreur d’écriture dans le répertoire Windows.
67 Impossible d’utiliser CCMOVE.DLL pour déplacer la
protection sur la même unité. Utiliser CCMOVE.EXE à la
place.
73 La source ne contient pas de copie installée du Master de
distribution.
74 Master de distribution expiré.
75 Impossible de déterminer la configuration du lecteur de
disquette.
76 La destination n’est pas une disquette.

Codes d’erreurs CCEXNET


0 Succès.
1 Version DOS inférieure à 2.00.
2 Syntaxe incorrecte.
3 Erreur de protection en écriture sur destination.
5 Fichier .CCC invalide sur destination.
6 Fichier .CCC invalide sur source.
7 Impossible de déterminer la configuration de l’unité source.
8 Chemin de destination invalide.
9 Un ou plusieurs des programmes protégés à atteint le
nombre limite d’exécutions.
10 Exécution CCEXNET supérieure à 2 minutes.
11 Erreur d’écriture dans l’unité destination.
12 Erreur d’écriture dans l’unité destination.
13 Seulement un utilisateur réseau restant dans source.
14 Erreur d’écriture dans l’unité destination.

19-14 • Codes d’erreur


15 Il n’y a pas de limite pour le nombre d’utilisateurs réseau
simultanés.
16 Source n’est pas une unité réseau.
17 Source est une copie invalide de EXNET.
18 Copie installée non trouvée sur source ou destination.
19 Destination n’est pas un disque dur.
21 Impossible de déterminer la configuration de l’unité
destination.
22 Erreur de création du fichier .CCC sur destination.
23 Pas de protection valide trouvée pour CCEXNET.
24 Source et destination sont sur le même disque.
26 Destination est un disque RAM.
27 Chemin source invalide.
28 Erreur de création du fichier CCONTROL.SYS sur
destination.
29 Erreur de création du sous-répertoire CopyControl.
30 L’utilisateur à tapé sur Echap.
31 Impossible de créer le répertoire de destination.
32 Impossible de créer le répertoire caché de CopyControl.
33 Destination contient déjà une protection installée.
34 Fichier .CCC invalide sur source.
35 Tous les droits réseau sont actuellement utilisés.
36 Pas de protection valide trouvée pour CCEXNET.
37 CCONTROL.SYS sur source est invalide.
38 Fichier .CCC invalide sur source.
39 Erreur d’écriture dans destination.
40 Erreur de suppression du répertoire.
41 Erreur d’accès au répertoire source – contacter APLIKA.
42 Erreur de suppression des fichiers depuis source.
43 Erreur de suppression du répertoire source.
44 Erreur de suppression du fichier .CCC depuis source.
45 Erreur de suppression du fichier CCONTROL.SYS depuis
source.

Codes d’erreurs KeyCall

Erreurs Keycall retournées par Keycall.dll


901 Impossible de se connecter au site le modem est occupé.
902 Impossible de se connecter au site.
903 Impossible de se connecter au site.
904 Impossible de se connecter au site.
905 Impossible de se connecter au site.
906 Impossible de se connecter au site.
907 Erreur d’envoi des données au site.
908 La taille du buffer spécifié est trop petite.
909 Erreur de réception des données du site.

Codes d’erreur • 19-15


910 La connexion a été interrompue anormalement.
911 Les données retournées par le site sont invalides.
912 Pas de buffer spécifié.
913 L’URL spécifiée ne contient pas de '/'.
914 Le Customer ID n’a pas été spécifié.
915 Le numéro de fonction est invalide.
916 La taille du buffer ne doit pas être 0.
917 L’URL spécifié ne doit pas commencer par '/'
918 L’URL spécifié est tronquée après '/'.
919 Le numéro de fonction est invalide.
920 La structure spécifiée n’est pas à la bonne taille.
921 Les données retournées ne sont pas issues du site Internet. Cela est
certainement dû à un problème de connexion ou à un firewall.
922 Le numéro de version indiqué est invalide.
923 Les données retournées par le site sont invalides.
924 Pas de buffer indiqué pour les données spécifiques au programme.
925 La taille du buffer est trop petite.
926 La fonction LoadLibrary a échoué.
927 La fonction GetProcAddress a échoué.
928 Erreur Interne.
929 L’URL sécurisée est invalide.
930 La version Beta n’est plus valide.
931 Impossible de trouver ErrNum dans les données émises par le site.
Cela est certainement dû à un problème de connexion ou à un
firewall.
932 Le jeton que l’on tente d’activer est déjà actif.

Erreurs Keycall retournées par le site


1 - L’utilisateur n’est pas autorisé à accéder à ces données avec ce
Product ID.
2 - Le Product Id n’est pas spécifié ou il est invalide.
3 - Erreur d’écriture de l’enregistrement utilisateur.
4 - La requête HTTP est invalide.
5 - Le site est occupé. Veuillez réessayer plus tard.
6 - Le Product ID est invalide.
7 - La valeur pour cc_action est invalide.
8 - La version CopyControl est invalide.
9 - Le MerchantId n’est pas indiqué ou est invalide.
10 - Erreur d’accès au fichier de données.
11 - Erreur de création du Customer ID.
12 - Erreur de sauvegarde.
13 - Customer ID invalide.
14 - Customer ID invalide ou mauvaise version de Copy Control
15 - Customer ID invalide.
16 - Le cc_customerid n’est pas indiqué.
17 - Le cc_uninstall n’est pas indiqué.
18 - Customer ID invalide.
19 - Erreur d’accès à l’enregistrement de l’utilisateur.

19-16 • Codes d’erreur


21 - L’enregistrement n’est pas encore initialisé.
22 - Erreur d’accès au fichier de données.
23 - Erreur de sauvegarde du fichier de données.
40 - Le nombre maximum d’installations autorisées est atteint.
111 - Le numéro de série d’installation doit être inférieur à 10,000 avant
l’activation.
112 - Le code de mise à jour est trop long ou n’est pas délivré.
113 - Vous n’êtes pas autorisé à utiliser cette version.
116 - Il ne vous reste plus de droit d’accès Keycall. Contactez Aplika pour
recharger votre compte.
118 - L’enregistrement à été désactivé.
119 - Vous devez d’abord activer votre installation avant d’utiliser cette
fonction.
120 - Le numéro de mise à jour ‘update number’ est invalide.
121 - Le numéro de série d’installation spécifié est invalide.
122 - Le numéro de série est à 0 ou non spécifié.
124 - Pas de numéro de série spécifié.
125 - Erreur d’écriture du fichier de données.
141 - Erreur de sauvegarde de l’enregistrement utilisateur.
142 - Données de désinstallation invalide.
143 - Erreur de sauvegarde des données de désinstallation.
144 - Impossible de désinstaller ce jeton si l’option ‘Considérer la disquette
Master comme une installation Unlock-It’ n’a pas été sélectionnée.
145 - Erreur d’écriture du fichier de données.
146 - Vous ne pouvez pas désinstaller ce jeton car il n’a pas été activé.

Codes d’erreur • 19-17


Erreurs connues

Premièrement
En cas de problème il est nécessaire de respecter les étapes suivantes pour
trouver facilement une solution.
Ces étapes sont:
• Trouver le programme CopyControl qui retourne le code d’erreur et
noter ce code. Vérifier dans la liste des codes d’erreurs "Codes
d’erreur" page 19-1.
• Si vous ne pouvez pas résoudre seul le problème, contacter APLIKA.
Veuillez nous adresser votre message d’erreur ainsi que le maximum
d’explications par Email aplika@aplika.fr.

Codes Erreurs
Tous les logiciels du produit CopyControl retournent un code d’erreur en cas de
problème. Vous pouvez supprimer l’affichage des ces messages mais n’oubliez
pas qu’ils sont importants en cas de problème.
Si vous avez suppriér l’affichage des codes d’erreur Run-Time et que vous
exécutez votre programme sous DOS vous pouvez récupérer temporairement
ce code en utilisant la variable d’environnement CC_ERRCODE:
SET CC_ERRCODE=ON
ou
SET CC_ERRCODE=OFF
Nous vous rappelons que sous Windows les variables d’environnement sont
accessibles. Pour cela utilisez la commande SET dans l’AUTOEXEC.BAT.
Les codes d’erreurs des utilitaires CopyControl sont souvent composés de
plusieurs chiffres (comme. 48/0/-120/4). Le premier chiffre (ici , 48) correspond
à ceux de "Codes d’erreurs CCMove" page 19-9. Le chiffre négatif est le code
du Run-Time et le reste sert à un débugage avancé par Microcosm.
La plupart des utilitaires de CopyControl offrent la possibilité d’afficher/de
sauvegarder/d’imprimer le diagnostique d’information. Vous pouvez ainsi
demander à vos clients de vous faire parvenir ce diagnostique précis (il sera
nécessaire de l’inclure dans vos courriers si vous devez contacter APLIKA.
CCLook est l’outil de vérification de protection le plus utile. En effet il permet
d’analyser très précisément le statut de la protection qui pose problème. Avec la
version Windows vous pouvez sauvegarder les informations dans un fichier.

Erreurs CCMove
Connaître le code d’erreur complet produit par CCMove permet de résoudre
tous les problèmes de transfert de protection.

Erreurs connues • 20-1


Si vous utilisez CCMove depuis votre programme d’installation, vous avez la
possibilité de supprimer les codes d’erreur produit par CCMOVE. C’est plus
pratique surtout depuis un programme Windows pour les développeurs qui
souhaitent seulement afficher le code de retour résultant de l’appel à CCMove.
Il s’agit du code d’erreur primaire mais le code d’erreur complet peut également
être utile. Quand vous utilisez la version DLL de CCMove, vous pouvez
récupérer le code d’erreur complet depuis le champ messages (voir "Utiliser
CCMOVE.DLL" page 7-5).
Si le code d’erreur primaire est insuffisant pour résoudre votre problème, vous
devez récupérer le code d’erreur complet. Il est souvent plus facile de
demander au client d’utiliser CCMOVE.EXE pour visualiser le code d’erreur
complet. Si vous l’utilisez sous DOS ou Windows 3.x, vous devez utiliser l’option
/X.
Donnez une copie de CCLook à votre client pour vérifier si le statut de
protection est valide ou s’il y a une erreur (disque Master). Démarrez CCLook
sur le disque dur et indiquez le chemin dans lequel vous recherchez des
informations sur la protection. Vous pouvez trouver la protection dans plusieurs
répertoires, vérifiez-les tous.
Dans quelques cas, la machine ne peut accéder correctement au secteur
spécial de la disquette réservée à CopyControl, comme c’est le cas avec des
lecteurs de disquettes connectés au port parallèle de la machine. Si le cas se
présente vous pouvez encore transférer la protection sur le disque dur en
utilisant la méthode suivante:
• Connectez la machine à un réseau. Partagez le disque dur et déplacez
la protection depuis un autre poste possédant un lecteur de disquette
opérationnel. Vous pouvez utiliser l’utilitaire Interlink de MSDOS si
votre machine n’est pas déjà connectée à un réseau.
• Utilisez l’option Unlock-It de CCMove.

Erreurs Run-Time
Les erreurs Run-time entrent dans deux catégories: protection invalide et
produit expiré.

Protection invalide
Le plus courant des codes d’erreur invalide est 28. Il indique que CopyControl
n’a pas réussit à trouver le fichier caché CCONTROL.SYS dans le répertoire
caché CopyControl. Cela veut souvent dire qu’aucune protection n’est trouvée.
Cela peut être dû aux causes suivantes:
• CCMove n’a pas été exécuté pour installer la protection sur ce disque.
• La protection à été remise sur le disque Master.
• Le répertoire caché de CopyControl à été effacé.
• La protection n’est pas située dans le répertoire où votre programme la
recherche. A moins que vous ayez spécifié un dossier en utilisant le
champ DIR du CCMB (voir "Structure CCMB" page 13-1), CopyControl
recherche la protection dans le chemin suivant:
CC_PATH_<code_produit> (voir "Déplacer la Protection" page 7-1), le
chemin du programme, le répertoire courant de Windows, le répertoire
racine et si vous êtes sous Netware, SYS:PUBLIC.
Vous pouvez regarder le répertoire caché de CopyControl en utilisant la
commande DIR /AD dans le répertoire où la protection est installée. Le
répertoire caché se nomme <code produit>.nnn ou nnn sont les trois derniers
chiffres de votre numéro de série CopyControl.
Par exemple:
DIR C:\ADIR /AD
Ou , pour rechercher précisément un répertoire caché connu:

20-2 • Erreurs connues


DIR C:\PRODUCT1.123 /AD /S

Protection Expirée
Ce type d’erreur intervient normalement lorsque l’utilisation du produit est
expirée (nombre d’exécution ou date limite) : un message d’expiration ou un
code d’erreur est alors affiché. Toutefois, il peut également arriver qu’un
utilisateur final tente d’ajouter des exécutions supplémentaires ou de copier les
fichiers cachés de CopyControl. Cela conduit CopyControl à afficher des codes
d’erreur différents. La protection est alors invalide au lieu d’expirée.

La date à été reculée


Le code erreur -64 indique que la date courante à été reculée par rapport à la
dernière date d’utilisation de votre programme. Le plus souvent cela est dû au
fait que le client a reculé la date et l’heure de l’ordinateur (Peut être pour
prolonger l’utilisation de votre logiciel limité dans le temps ou dans la durée?).
Vous pouvez remettre la dernière date d’utilisation à jour en utilisant
CCRemote.

Nombre d’utilisateurs réseau dépassé


Il est possible d’obtenir le code d’erreur -67 (si le nombre d’utilisateurs réseau a
dépassé la limite maximum spécifiée) lorsque la limite du nombre maximum
d’utilisateurs réseau est atteinte. Cela peut également arriver si vous ne
disposes pas des droits d’accès suffisants pour accéder au répertoire caché de
CopyControl. Vérifiez que l’utilisateur à bien les droits d’accès.

Contacter APLIKA
Si vous devez contacter APLIKA vous devez fournir les informations suivantes
pour permettre une résolution rapide et efficace de votre problème:
• Votre numéro de série CopyControl (afficher par CCLook ou depuis
Aide | A Propos de la plate-forme développeur).
• La version de CopyControl (afficher par CCLook et Aide | A Propos de
la plate-forme développeur).
• Le code d’erreur complet.
• Le système d’exploitation le modèle et la marque de la machine.
• Les détails de la configuration pour les machines non standard.
• Une copie d’écran ou fichier de sortie de CCLook, CCMove ou
CCChange.
Envoyer-nous ces informations par Email, en expliquant précisément le
problème rencontré.

Erreurs connues • 20-3


Glossaire

Activate
Programme pour une tierce société permettant la génération de code
d’activation. Vous pouvez contrôler le nombre d’activations à produire.

Activation ‘Code d’activation’


Code généré par CCRemote permettant l’activation d’une copie Unlock-It ou
Try-It installée.

CC_PATH_<code produit>
Variable d’environnement permettant d’indiquer le chemin à votre programme
CopyControlé (avec code produit = Code_produit) pour rechercher le jeton de
protection.

CCAdd
Programme permettant de poser la protection CopyControl sur vos logiciels.
Permet également la création des jetons de protections sur les disques
spécifiés.

CCChange
Programme acceptant les codes générés par CCRemote ce qui permet de
modifier les paramètres du jeton de protection.

CCCHANGE_SCO
Fonction de CCCHANGE.DLL et de CCCHNG32.DLL que vous pouvez appeler
pour modifier les paramètres de protection des jetons.

CCEXNET
Programme permettant de transférer un droit d’utilisation réseau simultané sur
un ordinateur mono poste et inversement.

CCLook
Programme permettant de rechercher les protections existantes. Il peut
également afficher mémoriser ou imprimer les détails complets de la protection
visualisée.

CCMAKE
Programme DOS autorisant un distributeur à créer des disquettes Master
depuis le disque Master de distribution que vous avez généré.

CCMB
CopyControl Memory Block. Bloc mémoire CopyControl cette structure permet
d’envoyer ou de recevoir des informations de votre programme à la protection.

Glossaire • 1
CCMove
Programme permettant l’installation ou la désinstallation d’une protection depuis
ou vers un disque Master. CCMove.exe, CCMOVE.DLL, CCMOVE32.DLL et
CCMOVE.EXE sont plusieurs versions équivalentes de cet utilitaire.

CCMOVE_SDO
Fonction de CCMOVE.DLL et de CCMOVE32.DLL que vous devez appeler
pour déplacer la protection.

CCP ‘Fichier CCP’


CopyControl Paramètre. Paramètre CopyControl permet de mémoriser les
paramètres de protection spécifiée dans CCAdd.

CCR ‘Fichier CCR’


CCRemote paramètre. Fichier mémorisant les paramètres spécifiés dans
CCRemote. Le format de sauvegarde correspond à la structure CCRB.

CCRB
CCRemote memory Block. Bloc mémoire CCRemote utilisé pour envoyer des
informations CCRemote permettant le calcul automatique du code de mise à
jour. Les fichiers de ce type sont normalement d’extension.CCR.

CCRemote
Programme permettant de générer des codes de mise à jour à distance des
protections. A utiliser en combinaison avec CCChange.

Code Produit
Chaîne de 8 caractères permettant de distinguer vos différents produits.

Confirmation ‘Code de confirmation’


Code court produit par CCRemote lors de la génération du code de mise à jour.
Lorsqu’un utilisateur utilise CCChange pour saisir le code de mise à jour cela
produit un code de confirmation. Ainsi vous pouvez vérifier si la mise à jour à
bien été effectuée correctement.

Customer ID ‘Identifiant client’


L’identifiant client doit être donné à l’utilisateur final qui doit utiliser le service
KeyCall pour activer sa protection. Il est long de 9 caractères si vous utilisez
KeyCall Internet, et de 18 chiffres si vous utilisez KeyCall téléphone.

Dernière date d’utilisation


La dernière date d’utilisation correspond à la dernière date à laquelle la
protection à été vérifiée avec succès. Cette valeur est mémorisée pour que la
protection se bloque si l’utilisateur tente de modifier la date de l’ordinateur afin
de dépasser la limite d’utilisation.

Exécutions
Paramètre de protection. C’est le nombre de fois qu’un programme protégé est
autorisé à fonctionner normalement (ou une fonction de votre programme).
CopyControl gère seul le décompte du nombre d’exécutions restantes. De la
même façon que CCRemote perd 1 droit d’exécution à chaque activation
Unlock-It réalisée.

2 • Glossaire
Exécutions/copie
Paramètre de protection. C’est le nombre d’exécutions transférées à chaque
fois que l’on déplace un jeton du disque Master vers l’unité d’installation.

Fonctions
Paramètre de protection. Sur 4 octets vous pouvez mémoriser des informations
spécifiques à votre programme.

KeyCall Internet
Système permettant la distribution automatique des codes d’activation via
Internet.

KeyCall Téléphone
Système permettant la distribution automatique des codes d’activations via le
téléphone.

Méthode Externe
C’est une méthode de protection. Vous modifiez votre code pour appeler un
programme externe qui vérifiera lui-même la protection.

Méthode Objet
Méthode de protection. Votre programme fait appel à un module OBJ ou à une
DLL pour vérifier la protection.

Protection disquette
Méthode de protection permettant distribuer la protection sur une disquette.

Méthode Shell
Méthode de protection. Permet de protéger automatiquement votre programme
sans modification manuelle de votre code.

Message de confirmation sécurisé


Message de confirmation affiché lorsque la vérification de la protection à été
réalisée avec succès. Peut également servir pour mémoriser des données.

Nombre de jour Max


Paramètre de protection. Il indique le nombre de jours maximum pendant
lesquelles le programme est autorisé à fonctionner. Passé ce nombre de jour la
protection expirera.

Numéro de mise à jour


Numéro stocké dans la protection et incrémenté chaque fois qu’un code issu de
CCRemote a été rentré avec succès. Il empêche l’utilisateur d’effectuer deux
fois les mêmes modifications.

Protection
Certains fichiers contiennent des informations relatives à la protection. Sur la
disquette se trouvent des pistes spéciales. Ils agissent comme une clé logicielle
et protègent vos logiciels.

Protection Try-It
Méthode de protection conçue pour diffuser des versions d’évaluation de votre
logiciel. Votre logiciel peut être installé une seule fois sur chaque machine.

Glossaire • 3
Esuite un code d’activation est nécessaire pour réinstaller la version
d’évaluation ou pour débloquer le produit en version complète.

Protection Unlock-It
Méthode de protection et de contrôle de vos programmes via CD-ROM, Internet
et tous supports Multimédias reconnus par un IBM PC. La protection est
déverrouillée par un code d’activation spécial qui permet d’autoriser votre
logiciel à fonctionner. Sans ce code il est impossible d’utiliser votre produit.

4 • Glossaire
Index

CCONTROL.CCC, 12, 13
A CCONTROL.SYS, 13, 14, 15, 9, 2,
3, 4, 2, 6, 7, 10, 12, 15, 17, 19,
Activate, 4, 1, 3 21, 23, 25, 3
Activation message, 11, 12
CCRB, 3, 4, 9, 13
Ajouter la protection, 1, 2, 6, 5, 3, 1, CCRemote, 6, 4, 1, 2, 4, 9, 10, 13,
2, 3, 10, 13, 2, 5, 1, 2, 5, 12, 3, 7, 2, 3, 1, 3, 4, 5, 9, 13, 2, 4, 9, 19,
9, 1, 4, 5, 2, 3, 4, 8, 9, 11, 13 4
Autoloader, 12, 2, 3, 1, 2, 3, 13 CCRemote Changement des
Autoriser une ré-installation Try-It,
paramètres à distance, 6, 4, 1, 2,
4, 2, 5, 10 4, 9, 10, 13, 2, 3, 1, 3, 4, 5, 9, 13,
2, 4, 9, 19, 4
C CCREMOTE.DAT, 9, 4, 10
Carte mére, 10 CCWIN.OBJ, 3, 1, 2, 3
CC.DLL, 3, 1, 2, 3 CCWIN32.OBJ, 1, 2, 3
CC_ERRCODE, 1 champ dir, 2, 7, 5, 3
CC_ERROR, 2 champ flags1, 11, 3, 14
CC32.DLL, 3, 1, 3, 6, 1, 2, 3 champ r_code, 2, 7
CC321, 3 Code de confirmation, 2, 4, 9, 10,
CCAdd, 1, 2, 6, 5, 3, 1, 2, 3, 10, 13, 12
2, 5, 1, 2, 5, 12, 3, 7, 9, 1, 4, 5, 2, Code de mise à jour, 3, 10, 11, 13
3, 4, 8, 9, 11, 13 code produit, 5, 3, 13, 15, 1, 3, 9,
CCChange, 5, 3, 4, 5, 14, 2, 3, 1, 3, 13, 6, 1, 3, 7, 8, 9, 11, 2, 4, 21, 3
4, 8, 10, 11, 13, 14, 1, 5, 6, 7, 8, Codes d’erreurs
12, 2, 3, 21, 22, 4 CCAdd, 3, 10
CCChange Changement des CCChange, 13, 5, 7, 21
paramètres à distance, 5, 3, 4, 5, CCEXNET, 24
14, 2, 3, 1, 3, 4, 8, 10, 11, 13, 14, CCLook, 19
1, 5, 6, 7, 8, 12, 2, 3, 21, 22, 4 CCMAKE, 23
CCCHANGE.DLL, 10, 12, 2, 22 CCMove, 8, 7, 14, 2
CCCHANGE.EXE, 10, 1, 5, 7, 2 CControl, 9
CCCHANGE_SCO, 12, 13, 7 CCRemote, 4, 19
CCCHNG32.DLL, 10, 12 KeyCall, 2, 26
CCDLL1, 3, 4 runtime, 3, 4, 1, 10, 14, 16, 19,
CCDUM, 5, 1, 2 23
CCEXNET, 9, 5, 6, 7, 4, 7, 24, 25 Compatibilité, 10, 3, 4, 9, 1, 2, 4, 5,
CCEXNET_SDO, 6, 7 8
CCMAKE, 2, 3, 23 Compatibilité réseau, 5, 1
CCMB, 2, 7, 11, 3, 1, 3, 5, 7, 8, 4, Compression de disque, 3
5, 6, 7, 8, 9, 3, 5, 8, 3 Confirmation sécurisé
champ dir, 2, 7, 5, 3 message, 11, 12, 7, 9
champ flags1, 11, 3, 14 CopyControl structures
champ r_code, 2, 7 CCMove et CCChange, 8, 13, 6,
CCMove, 5, 3, 6, 3, 4, 5, 6, 14, 4, 6, 7
8, 2, 13, 5, 6, 1, 6, 7, 8, 2, 5, 2, 3, CCRB, 3, 4, 9, 13
6, 8, 14, 17, 18, 23, 2, 3, 4 CopyControl Structures
CCMOVE.DLL, 2, 7, 6, 2, 17, 18, CCMB, 2, 7, 11, 3, 1, 3, 5, 7, 8, 4,
23, 2 5, 6, 7, 8, 9, 3, 5, 8, 3
CCMOVE.EXE, 2, 6, 7, 1, 6, 7, 2, Création disque Master, 13
18, 23, 2
CCMOVE_SDO, 7, 8, 9, 12, 6, 7
CCMOVE32.DLL, 2, 7

Guide du développeur CopyControl Index • 1


D L
Date d’expiration, 9, 2, 8, 5, 10, 12, La protection, 13
10, 2, 3
Défragmenteurs, 2, 3 M
Déplacer la protection, 5, 3, 6, 3, 4,
Master disque Distributeur, 7
5, 6, 14, 4, 6, 8, 2, 13, 5, 6, 1, 6,
7, 8, 2, 5, 2, 3, 6, 8, 14, 17, 18, Merchant ID, 4
23, 2, 3, 4 Message d’activation, 11, 12
Message de confirmation sécurisé,
Déplacer la protection disquette, 6,
4 11, 12, 7, 9
Déplacer utilisateur monoposte, 9, Message produit expiré, 11, 12
5, 6, 7, 4, 7, 24, 25 Message utilisation non autorisé, 11
Dernière date d’utilisation, 2, 6, 9, Méthode de protection distributeur,
4
11, 4
Désinstaller CopyControl, 4 Méthode de protection Upgrade, 4
Dinkey Dongle, 1 Méthode Externe, 2, 4, 15, 3, 1
Méthode Objet, 2, 3, 7, 8, 10, 11, 3,
disque dur, 11
Disque Master Distributeur, 4, 13, 5, 1, 5, 1, 6, 2, 13
1, 2, 3, 23 Méthode Shell, 2, 13, 3
Module Distributeur, 1, 2
Distributeur, 4, 6

E N

Erreurs connues, 1 Nb jours Max, 9


numéro de série, 5, 1, 4, 5, 10, 12,
Exécutions/copie, 8, 2
Exemple méthode programme 2, 3, 2, 3, 7, 13, 2, 3, 4, 2, 6, 1, 2,
externe, 5, 1, 2 4, 6, 7, 8, 9, 10, 13, 2, 4, 10, 16,
21, 3, 4
Numéro de série CopyControl, 7, 8,
F
4, 3, 4
Fichier CCP, 2, 1, 2, 3
Fichier CCR, 2, 3, 9, 10 O
Fonction 0, 3, 5, 7, 9, 10
Fonction 1, 12, 7, 4, 8 Option Distributeur, 5, 1
Fonction 2, 9 Option distributeur activate, 4, 1, 3
Fonction 3, 9 Option réseau, 4, 5, 6, 1, 2, 7
Fonction 5, 9
Fonction 6, 3, 5, 6, 7, 10, 2 P
Fonctions, 4, 2, 9, 7, 2, 9, 3, 6, 1, 2, Plate-Forme développeur, 6, 2, 3,
3, 6, 8, 1, 2, 3, 4, 5, 6, 10, 12, 1, 2, 11, 2, 3, 2, 4
2, 4, 5, 7, 8, 9, 10, 1, 2, 4, 6, 7, 8 Produit expiré
message, 11, 12
G Programme de démonstration, 4, 3,
Générer code de mise à jour, 6, 4, 1
Protection
1, 2, 4, 9, 10, 13, 2, 3, 1, 3, 4, 5,
9, 13, 2, 4, 9, 19, 4 Distributeur, 4, 6
Global upgrade, 2, 4, 5 Global Upgrade, 2, 4, 5
Méthode Distributeur, 6
Méthode Externe, 2, 4, 15, 3, 1
I
Méthode Objet, 2
Identifiant client, 1, 3, 4, 26 Méthode Objet, 3, 7, 8, 10, 11, 3,
Installation DOS, 1 5, 1, 5, 1, 6, 2, 13
Installer CopyControl, 1, 2 Méthode Shell, 2
Installer une version DOS de Méthode Shell, 13, 3
CopyControl, 1 Upgrade, 4
Protection disquette, 1, 6, 1, 2, 4, 6,
J 4, 1
Protéger un grand nombre de
Jours Max, 5
logiciel, 7, 15
K S
KeyCall Internet, 1, 2, 3, 4 Sauvegarde, 2
KeyCall Téléphone, 1, 2, 1, 3 Structures
KeyCall.Dll, 2

2 • Index
CCMB, 2, 7, 11, 3, 1, 3, 5, 7, 8, 4, Upgrade, 4
5, 6, 7, 8, 9, 3, 5, 8, 3 utilisateurs réseau, 10, 2, 5, 7
CCMove et CCChange, 8, 13, 6, utilisateurs réseau simultanés, 6,
7 10, 2, 6, 1, 2, 6, 4, 5, 9, 11, 7, 10,
CCRB, 3, 4, 9, 13 2, 6, 8, 24, 4
Systèmes Antivirus, 3 utilisation non autorisé
message, 11
T
V
Temps de réponse réseau
asynchrone, 10 Variables d’environnement
Transférer CopyControl, 2 CC_ERRCODE, 1
Try-It, 1, 3, 4, 5, 1, 2, 3, 4, 5, 7, 13, Vérification d’emplacement, 10, 4
14, 1, 4, 2, 3, 4, 5, 6, 11, 12, 13, Vérification DFS, 10, 5
1, 4, 10, 11, 13, 9, 15, 18 versions MSDOS, 1

U W
Unlock-It, 1, 3, 1, 3, 4, 6, 14, 2, 4, 3, Windows 2000, 1, 6, 10, 4, 2
1 Windows NT, 1, 6, 10, 4, 2

Guide du développeur CopyControl Index • 3