IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

[ActiveX] Installation de DLLs à partir d'un .cab


Sujet :

Windows

  1. #1
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 031
    Points : 11 476
    Points
    11 476
    Billets dans le blog
    11
    Par défaut [ActiveX] Installation de DLLs à partir d'un .cab
    Voilà mon problème : J'utilise un .cab pour installer mon ActiveX (jusqu'ici tout est normal). Ce .cab vérifie que les DLLs nécessaires à l'éxécution de l'ActiveX sont présentes sur le PC client. S'il ne les trouve pas, il va les chercher sur un autre fichier .cab qui les contient. Je n'ai pas mis les DLLs dans le même .cab pour des raisons d'optimisation de temps de téléchargement (pas besoin de télécharger les DLL si on les a déjà). Toutes ces actions sont décrites dans le fichier .inf suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    [Version]
    	Signature="$CHICAGO$"
    	AdvancedINF=2.0
    
    
    [Add.Code]
    ;Section définissant dans quelle section traiter quel fichier
    ; <nom fichier> = <nom section>
    	IPlay.ocx=IPlay.ocx
    	cg.dll=cg.dll
    	DevIL.dll=DevIL.dll
    	ILU.dll=ILU.dll
    	OgreMain.dll=OgreMain.dll
    	OgrePlatform.dll=OgrePlatform.dll
    	Plugin_ParticleFX.dll=Plugin_ParticleFX.dll
    	RenderSystem_Direct3D9.dll=RenderSystem_Direct3D9.dll
    	RenderSystem_GL.dll=RenderSystem_GL.dll
    	zlib1.dll=zlib1.dll
    
    
    [IPlay.ocx]
    	File-win32-x86=thiscab
    	clsid={3978C53C-7129-4767-9E8B-DF8DB808F045}
    	FileVersion=1,0,0,1
    	RegisterServer=yes
    [cg.dll]
    	FileVersion=1,41,603,92 ; si le pc possède la dll avec une version précédente, il passe par le hook
    ;hook désigne la section à laquelle on doit se référer si on ne trouve pas le fichier sur le PC
    	hook=IPlayDLLs.cab_installer
    [DevIL.dll]
    	FileVersion= ;la version vide signifie que toutes les versions sont acceptées
    	hook=IPlayDLLs.cab_installer
    [ILU.dll]
    	FileVersion=
    	hook=IPlayDLLs.cab_installer
    [OgreMain.dll]
    	FileVersion=
    	hook=IPlayDLLs.cab_installer
    [OgrePlatform.dll]
    	FileVersion=
    	hook=IPlayDLLs.cab_installer
    [Plugin_ParticleFX.dll]
    	FileVersion=
    	hook=IPlayDLLs.cab_installer
    [RenderSystem_Direct3D9.dll]
    	FileVersion=
    	hook=IPlayDLLs.cab_installer
    [RenderSystem_GL.dll]
    	FileVersion=
    	hook=IPlayDLLs.cab_installer
    [zlib1.dll]
    	FileVersion=1,2,1,0
    	hook=IPlayDLLs.cab_installer
    [IPlayDLLs.cab_installer]
            ;On indique où se trouve le .cab contenant les DLLs manquantes
    	file-win32-x86=http://www.fordev-studio.com/IPlayDLLs.cab
            ;On indique le nom du fichier .inf situé dans IPlayDLLs.cab, pour l'installation des DLLs manquantes
    	InfFile=IPlayDLLs.inf
    
    
    [DefaultInstall]	
    ;Section définissant les paramètres d'installation (ici copie des fichiers nécessaires, enregistrement de l'ActiveX)
    	CopyFiles = IPlayBin,PluginsFile,InfFiles
    	RegisterDLLs = RegisterSection
    [IPlayBin]
    	IPlay.ocx
    [PluginsFile]
    	Plugins.cfg
    [InfFiles]
    	IPlay.inf
    
    [DestinationDirs]	
    ;Section définissant les dossiers de destination des différents fichiers
    	IPlayBin = 16422, ForDevStudio\IPlay	
    	PluginsFile = 16422, ForDevStudio\IPlay
    	InfFiles = 17
    
    [RegisterSection]	
    ;Section nécessaire pour l'enregistrement de l'ActiveX 	
    	16422,ForDevStudio\IPlay,IPlay.ocx,1
    
    [Strings]
    	VersionNumber = "1.0.0.1"
    	GUID = "{3978C53C-7129-4767-9E8B-DF8DB808F045}"
    Il enregistre mon ActiveX, fait les copies demandées, mais il semble ignorer la section :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [IPlayDLLs.cab_installer]
    	file-win32-x86=http://www.fordev-studio.com/IPlayDLLs.cab
    	InfFile=IPlayDLLs.inf
    Et du coup, il ne m'installe pas les DLLs nécessaires à l'éxécution de mon ActiveX.
    Quelqu'un peut-il m'aider?
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  2. #2
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 031
    Points : 11 476
    Points
    11 476
    Billets dans le blog
    11
    Par défaut Arf
    En fait ça ne marche pas en local mais à partir du net ça installe sans problème.
    Donc mon problème n'en est pas un
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/07/2012, 12h27
  2. Comment installer debian a partir du disque dur
    Par ready dans le forum Debian
    Réponses: 1
    Dernier message: 21/02/2006, 14h35
  3. dll ActiveX utilisant une DLL externe
    Par Metal3d dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 10/11/2005, 18h02
  4. Réponses: 3
    Dernier message: 30/09/2005, 22h48
  5. [MFC][DLL]Dialog Avec ActiveX dans une DLL ?
    Par matazz dans le forum MFC
    Réponses: 1
    Dernier message: 16/05/2005, 16h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo