Banner.gif (5609 octets)


Project Home
OCS Inventory
   Qu'est-ce-que c'est ?
   Quoi de neuf
   A faire
   Fonctionnalités
   Installation
   Utilisation
   Compilation
   Aide / FAQ
   Contributeurs

Report Bugs or request new features for OCS Inventory
OCS Inventory Discussion Forums
 Email OCS Developer Team

Visual C++ Build Instructions.

 

Les sources sont maintenant distribués dans un paquetage différent, disponible pour téléchargement sur le site Web d'OCS Inventory.

Décompressez l'archive ZIP dans le dossier où vous avez installé OCS Inventory pour créer la structure de répertoires suivante:

  • Application:
    • AccessLogs:
    • BIOS:
    • Drivers:
    • Graphics:
    • Hardware:
    • LogicalDrives:
    • Network:
    • Printers:
    • Results:
  • Docs:
  • Sources: Workspace Visual C++ principal.
    • Agent: Sources de l'agent avec support DAO et CSV.
    • Agent CSV only: Sources de l'agent avec support CSV uniquement.
    • BiosInfo: Sources C et ASM de l'outil BiosInfo (requiert le compilateur 16 bits Microsoft Visual C++ 1.52).
    • Common: Sources commun entre l' agent, le manager...
    • DumpDMI: Sources de l'outil DumpDMI.
    • ImportCSV: Sources de l'outil Import Utility.
    • Includes: Entêtes de classes et ressources communes entre l'agent, le manager...
    • Languages: DLL de support des différentes langues.
      • OCSLangDEU: support Allemand.
      • OCSLangENG: support Anglais.
      • OCSLangESP: support Espagnol.
      • OCSLangFRA: support Français.
    • Libraries: Libraries communes (WinIO par exemple).
    • Manager: Sources du Manager.
      • Res: Ressources spécifiques au Manager.
    • SetupWinIO: Sources de l'outil SetupWinIO
    • SysInfo: Entêtes de classes et sources de la Dll SysInfo.

Les sources sont compilables avec Microsoft Visual C++ 6.0 Service Pack 5 et le Microsoft Platform SDK de novembre 2002. Je pense qu'ils peuvent aussi être compilés avec Microsoft Visual C++ 5.0, mais je n'en suis pas sûr.

Ouvrez juste le workspace "OCS Inventory.dsw" situé dans le dossier "Sources", sélectionnez le projet Agent ou Manager, le type de compilation que vous souhaitez (Debug ou Release) et compilez ! Les exécutables seront créés dans le dossier "Application".

La Dll SysInfo a été complètement refondue et vous ne pouvez utiliser l'ancienne Dll de Paul Wendt. Nous n'avons pu obtenir de Paul Wendt une mise à jour de sa Dll et nous avons donc créé la notre en utilisant les classes CAMEL de Iain CHESWORTH pour les routines de détection des processeurs.

OCS Inventory V2.00 utilise encore DAO 3.5 pour se connecter à la base de données Access. C'est pourquoi la base de données est toujours au format Access 97. Si vous l'ouvrez avec Microsoft Access 2000 ou plus, NE LA CONVERTISSEZ PAS ou bien l'agent et la manager ne pourront plus y accéder.

Vous trouverez une description des fichiers CSV utilisés par OCS Inventory ici.

Si vous rencontrez des problèmes, n'hésitez pas à utiliser les forums ou à nouse contacter.

NB. Si vous modifiez les sources, s'il vous plait, transmettez nous une copie de vos modifications, que nous puissions les répercuter pour tous les utilisateurs...

 

Comment traduire OCS Inventory.

Traduire les exécutables Windows Agent et Manager

Le support de la langue est maintenant inclut comme une DLL de ressources. Cette DLL doit avoir un nom "OCSLang<CountryCode>.dll" pour être vue par le Manager. De plus, elle doit exporter une fonction "LPCTSTR GetSupportedLanguage( void)" qui retourne le nom de la langue supportée.

Vous ajoutez une nouvelle langue en créant une nouvelle DLL. Copiez le contenu du projet OCSLangENG pour avoir le contenu de votre DLL et traduisez les objets suivants:

  • Dialog
  • Menu
  • String table
  • Version
  • Le nom de la langue supportée dans le fichier OCSLang.def
  • La chaîne de caractères retournée par la fonction GetSupportedLanguage dans le fichier OCSLang<CountryCode>.cpp

NB: Ne modifiez pas le ID de Dialog, Menu ou String pour ne pas avoir à modifier le code C++ pour chaque support de langue. Le meilleur moyen est de copier/coller les ressources dans la section correspondant à votre langue, puis de traduire uniquement les chaines de caractères.

Traduire le Web Manager

Toutes les chaînes de caractères pour le support des diiférentes langues sont définies dans le fichier "includes/lang.inc" du Web Manager. Elles sont chargées dynamiquement quand le serveur traite les pages ASP, via un objet de session.

  • Ouvrir le fichier "includes/lang.inc" avec votre editeur de texte favori et ajoutez une section pour votre code de langue yourcode dans l'instruction select case.
    Puis, copiez le contenus de la section de support de la langue anglaise par défaut dans la nouvelle section que vous avez ajoutée et traduisez les chaînes de caractères associées à chaque variable. Vous devrez obtenir quelque chose comme ceci:
    Case select Session("Language")
    Case "yourcode":
    ' ============== Strings declarations for Your Language support ===============
    ....
    Case "de"
    ' ============== Strings declarations for German support ====================
    ....
    Case "es"
    ' ============== Strings declarations for Spanish support ====================
    ....
    Case "fr"
    ' ============== Strings declarations for French support ====================
    ....
    Case Else
    ' ============== Strings declarations for default English support ===============
    ....
    End Select

  • Créer une image (.gif, .jpg or .png) symbolisant votre langue au format 32x32 pixels et enregistrez la dans le dossier "images" du Web Manager.
    Ouvrez le fichier "login.asp" et ajoutez une ligne comme suis dans la table de sélection des langues.
    <td align="center"><a href="login.asp?Language=yourcode"><img src="images/yourimage.gif" border="0" alt="Your language" WIDTH="32" HEIGHT="32"><br>Your language</a></td>

  • Ouvrez le fichier "default.asp" du dossier racine du Web Manager et ajoutez les redirections adéquates pour la nouvelle langue dans l'instruction select case Request.ServerVariables("HTTP_ACCEPT_LANGUAGE"). Ceci va permettre au Web Manager de sélectionner automatiquement la langue adéquate pour la page de login en fonction des langues supportées par le navigateur client. Vous devez avoir quelque chose comme:
    case "BrowserLanguageCode" strLanguage=""yourcode"

  • Testez votre traduction pour voir si tout est bon, et ajustez si nécessaire.