J'ai entendu dire que pour l'install, il fallait générer un fichier
.CAB contenant l'ActiveX et un fichier .INF contenant des informations
pour l'installation.
a) Où puis-je trouver des informations et des exemples sur la syntaxe
de ce fichier .INF ?
b) Pour fonctionner, mon ActiveX doit disposer d'une DLL spécifique
qui doit se trouver dans le dossier WINDOWS de l'utilisateur.
Comment puis-je faire pour qu'à l'installation de l'ActiveX, cette
DLL, qui sera contenue dans le fichier .CAB avec l'ActiveX, soit
placée dans le bon dossier ?
J'ai entendu dire que pour l'install, il fallait générer un fichier
.CAB contenant l'ActiveX et un fichier .INF contenant des informations
pour l'installation.
a) Où puis-je trouver des informations et des exemples sur la syntaxe
de ce fichier .INF ?
b) Pour fonctionner, mon ActiveX doit disposer d'une DLL spécifique
qui doit se trouver dans le dossier WINDOWS de l'utilisateur.
Comment puis-je faire pour qu'à l'installation de l'ActiveX, cette
DLL, qui sera contenue dans le fichier .CAB avec l'ActiveX, soit
placée dans le bon dossier ?
J'ai entendu dire que pour l'install, il fallait générer un fichier
.CAB contenant l'ActiveX et un fichier .INF contenant des informations
pour l'installation.
a) Où puis-je trouver des informations et des exemples sur la syntaxe
de ce fichier .INF ?
b) Pour fonctionner, mon ActiveX doit disposer d'une DLL spécifique
qui doit se trouver dans le dossier WINDOWS de l'utilisateur.
Comment puis-je faire pour qu'à l'installation de l'ActiveX, cette
DLL, qui sera contenue dans le fichier .CAB avec l'ActiveX, soit
placée dans le bon dossier ?
ByB wrote:J'ai entendu dire que pour l'install, il fallait générer un fichier
.CAB contenant l'ActiveX et un fichier .INF contenant des informations
pour l'installation.
a) Où puis-je trouver des informations et des exemples sur la syntaxe
de ce fichier .INF ?
b) Pour fonctionner, mon ActiveX doit disposer d'une DLL spécifique
qui doit se trouver dans le dossier WINDOWS de l'utilisateur.
Comment puis-je faire pour qu'à l'installation de l'ActiveX, cette
DLL, qui sera contenue dans le fichier .CAB avec l'ActiveX, soit
placée dans le bon dossier ?
Bonjour,
Les articles suivants peuvent déjà aider:
http://support.microsoft.com/kb/167158/EN-US/
http://support.microsoft.com/kb/165075/EN-US/
http://support.microsoft.com/kb/165075/EN-US/
Le dossier Windows est représenté par la valeur 10 dans les scripts et le
dossier SYSTEM32 par 11 (ne me demandez surtout pas pourquoi :-) ). Notez que
le .INF inséré dans le .CAB doit avoir le même nom que le .CAB.
Veuillez également noter que votre package devrait normalement être signé
digitalement (clés à obtenir auprès de Verisign ou organisme similaire). S'il
ne l'est pas, dans un grand nombre de cas, le téléchargement sera refusé
surtout sous XP SP2. Mais tout utilisateur raisonnable ou tout administrateur
un tant soit peu professionnel dans une entreprise interdira le
téléchargement de contrôles non signés. L'obtention de clés pour la signature
prend un peu de temps (et coûte un peu d'argent) car une enquête est
nécessaire, aussi il faut vous y prendre à l'avance. Pas au moment de mettre
vos pages en ligne.
Ce point est essentiel. Voir
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaxctrl/html/msdn_deplactx.asp
.
Enfin, votre page ne fonctionnera que sous IE ou dans un browser disposant
d'un plugin de support des ActiveX Controls. Par exemple, Firefox nécessite
un plugin spécial pour les ActiveX Controls. S'il n'est pas installé chez
l'utilisateur, votre page ne fonctionnera pas.
Voici un exemple de .INF très simple installant un ActiveX Control développé
avec VB et nécessitant la runtime VB :
; ================== MonControl.inf ====================== > ; Ce fichier pilote le téléchargement des modules nécessaires
; au fonctionnement de MonControl sur la station cliente.
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
Msvbvm60.dll=Msvbvm60.dll
MonControl.ocx=MonControl.ocx
[Msvbvm60.dll]
FileVersion=6,0,88,77
hook=VBRunTimeInstaller
[VBRunTimeInstaller]
file-win32-x86=https://www.monserveur.com/monappli/vbruntime.cab
InfFile=vbruntime.inf
[MonControl.ocx]
file-win32-x86=thiscab
clsid={155AD126-8C97-11D3-A7CF-0060087342CE}
FileVersion=1,1,0,8
RegisterServer=yes
; Tout part de la section ADD.Code
; Chaque entrée spécifie le nom d'un module à installer
; et indique quelle section décrit cette installation
; (habituellement, la section porte le même nom que le module)
;
; MonControl.ocx est inclus dans le fichier .CAB et indique
; un numéro de version minimum et un CLSID.
; Si ces conditions ne sont pas remplies, le .OCX est installé
; automatiquement.
;
; Pour la runtime, si elle n'est pas présente ou pas à la bonne
; version, IE télécharge le package VBRUNTIME.CAB à l'URL indiquée
; et procède à l'installation selon les indications de VBRUNTIME.INF
; qui sera présent dans VBRUNTIME.CAB.
;
; Ce mécanisme est décrit dans la MSDN Library par l'article Q165075
; ainsi que dans la documentation de l'assistant d'empaquetage de VB.
Voici un exemple plus complexe pour un contrôle développé en VC++. Il
installe le contrôle, quelques bitmaps dans le répertoire Windows et vérifie
si la runtime est rpésente. Si elle ne l'est pas, il l'installe.
; ================== exemple.inf ====================== > ; Ce fichier pilote le téléchargement des modules nécessaires
; au fonctionnement de moncontrol sur la station cliente.
; La section ADD.CODE indique quelle section du script doit être exécutée
pour
; installer un fichier particulier. Par exemple, pour installer
moncontrol.ocx,
; l'interpréteur va exécuter la section [moncontrol.ocx] (le nom peut être
différent
; de celui du fichier).
;
; La section [moncontrol.ocx] indique
;
; file-win32-x86=thiscab
; le fichier se trouve dans le .CAB contenant ce .INF.
; clsid={291B1986-C344-11D2-A7CE-0060087342CE}
; le CLSID du composant
; FileVersion=1,7,0,0
; la version minimum
; RegisterServer=yes
; que le fichier doit être enregistré
;
; Pour les fichiers runtime des MFC, chaque section indique que si le fichier
; n'est pas présent, on doit exécuter la section [Mfc42Installer]
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
Mfc42.dll=Mfc42.dll
Msvcp60.dll=Msvcp60.dll
Msvcrt.dll=Msvcrt.dll
Olepro32.dll=Olepro32.dll
moncontrol.ocx=moncontrol.ocx
bfd.bmp¿d.bmp
quit.bmp=quit.bmp
zoom.bmp=zoom.bmp
blocs.bmp=blocs.bmp
flechdro.bmp=flechdro.bmp
flechgau.bmp=flechgau.bmp
proc.bmp=proc.bmp
retour.bmp=retour.bmp
service.bmp=service.bmp
type.bmp=type.bmp
contexte.bmp=contexte.bmp
deco.bmpÞco.bmp
pointfic.bmp=pointfic.bmp
acteur.bmp¬teur.bmp
[Msvcrt.dll]
FileVersion=6,0,8797,0
hook=Mfc42Installer
[Mfc42.dll]
FileVersion=6,0,8665,0
hook=Mfc42Installer
[Msvcp60.dll]
FileVersion=6,0,8168,0
hook=Mfc42Installer
[Olepro32.dll]
FileVersion=5,0,4277,1
hook=Mfc42Installer
[Mfc42Installer]
file-win32-x86=http://svr/rep/cabs/Mfc42.cab
InfFile=mfc42.inf
[moncontrol.ocx]
file-win32-x86=thiscab
clsid={291B1986-C344-11D2-A7CE-0060087342CE}
FileVersion=1,7,0,0
RegisterServer=yes
[bfd.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[acteur.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[quit.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[zoom.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[blocs.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[flechdro.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[flechgau.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[proc.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[retour.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[service.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[type.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[deco.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[contexte.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[pointfic.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
ByB wrote:
J'ai entendu dire que pour l'install, il fallait générer un fichier
.CAB contenant l'ActiveX et un fichier .INF contenant des informations
pour l'installation.
a) Où puis-je trouver des informations et des exemples sur la syntaxe
de ce fichier .INF ?
b) Pour fonctionner, mon ActiveX doit disposer d'une DLL spécifique
qui doit se trouver dans le dossier WINDOWS de l'utilisateur.
Comment puis-je faire pour qu'à l'installation de l'ActiveX, cette
DLL, qui sera contenue dans le fichier .CAB avec l'ActiveX, soit
placée dans le bon dossier ?
Bonjour,
Les articles suivants peuvent déjà aider:
http://support.microsoft.com/kb/167158/EN-US/
http://support.microsoft.com/kb/165075/EN-US/
http://support.microsoft.com/kb/165075/EN-US/
Le dossier Windows est représenté par la valeur 10 dans les scripts et le
dossier SYSTEM32 par 11 (ne me demandez surtout pas pourquoi :-) ). Notez que
le .INF inséré dans le .CAB doit avoir le même nom que le .CAB.
Veuillez également noter que votre package devrait normalement être signé
digitalement (clés à obtenir auprès de Verisign ou organisme similaire). S'il
ne l'est pas, dans un grand nombre de cas, le téléchargement sera refusé
surtout sous XP SP2. Mais tout utilisateur raisonnable ou tout administrateur
un tant soit peu professionnel dans une entreprise interdira le
téléchargement de contrôles non signés. L'obtention de clés pour la signature
prend un peu de temps (et coûte un peu d'argent) car une enquête est
nécessaire, aussi il faut vous y prendre à l'avance. Pas au moment de mettre
vos pages en ligne.
Ce point est essentiel. Voir
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaxctrl/html/msdn_deplactx.asp
.
Enfin, votre page ne fonctionnera que sous IE ou dans un browser disposant
d'un plugin de support des ActiveX Controls. Par exemple, Firefox nécessite
un plugin spécial pour les ActiveX Controls. S'il n'est pas installé chez
l'utilisateur, votre page ne fonctionnera pas.
Voici un exemple de .INF très simple installant un ActiveX Control développé
avec VB et nécessitant la runtime VB :
; ================== MonControl.inf ====================== > ; Ce fichier pilote le téléchargement des modules nécessaires
; au fonctionnement de MonControl sur la station cliente.
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
Msvbvm60.dll=Msvbvm60.dll
MonControl.ocx=MonControl.ocx
[Msvbvm60.dll]
FileVersion=6,0,88,77
hook=VBRunTimeInstaller
[VBRunTimeInstaller]
file-win32-x86=https://www.monserveur.com/monappli/vbruntime.cab
InfFile=vbruntime.inf
[MonControl.ocx]
file-win32-x86=thiscab
clsid={155AD126-8C97-11D3-A7CF-0060087342CE}
FileVersion=1,1,0,8
RegisterServer=yes
; Tout part de la section ADD.Code
; Chaque entrée spécifie le nom d'un module à installer
; et indique quelle section décrit cette installation
; (habituellement, la section porte le même nom que le module)
;
; MonControl.ocx est inclus dans le fichier .CAB et indique
; un numéro de version minimum et un CLSID.
; Si ces conditions ne sont pas remplies, le .OCX est installé
; automatiquement.
;
; Pour la runtime, si elle n'est pas présente ou pas à la bonne
; version, IE télécharge le package VBRUNTIME.CAB à l'URL indiquée
; et procède à l'installation selon les indications de VBRUNTIME.INF
; qui sera présent dans VBRUNTIME.CAB.
;
; Ce mécanisme est décrit dans la MSDN Library par l'article Q165075
; ainsi que dans la documentation de l'assistant d'empaquetage de VB.
Voici un exemple plus complexe pour un contrôle développé en VC++. Il
installe le contrôle, quelques bitmaps dans le répertoire Windows et vérifie
si la runtime est rpésente. Si elle ne l'est pas, il l'installe.
; ================== exemple.inf ====================== > ; Ce fichier pilote le téléchargement des modules nécessaires
; au fonctionnement de moncontrol sur la station cliente.
; La section ADD.CODE indique quelle section du script doit être exécutée
pour
; installer un fichier particulier. Par exemple, pour installer
moncontrol.ocx,
; l'interpréteur va exécuter la section [moncontrol.ocx] (le nom peut être
différent
; de celui du fichier).
;
; La section [moncontrol.ocx] indique
;
; file-win32-x86=thiscab
; le fichier se trouve dans le .CAB contenant ce .INF.
; clsid={291B1986-C344-11D2-A7CE-0060087342CE}
; le CLSID du composant
; FileVersion=1,7,0,0
; la version minimum
; RegisterServer=yes
; que le fichier doit être enregistré
;
; Pour les fichiers runtime des MFC, chaque section indique que si le fichier
; n'est pas présent, on doit exécuter la section [Mfc42Installer]
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
Mfc42.dll=Mfc42.dll
Msvcp60.dll=Msvcp60.dll
Msvcrt.dll=Msvcrt.dll
Olepro32.dll=Olepro32.dll
moncontrol.ocx=moncontrol.ocx
bfd.bmp¿d.bmp
quit.bmp=quit.bmp
zoom.bmp=zoom.bmp
blocs.bmp=blocs.bmp
flechdro.bmp=flechdro.bmp
flechgau.bmp=flechgau.bmp
proc.bmp=proc.bmp
retour.bmp=retour.bmp
service.bmp=service.bmp
type.bmp=type.bmp
contexte.bmp=contexte.bmp
deco.bmpÞco.bmp
pointfic.bmp=pointfic.bmp
acteur.bmp¬teur.bmp
[Msvcrt.dll]
FileVersion=6,0,8797,0
hook=Mfc42Installer
[Mfc42.dll]
FileVersion=6,0,8665,0
hook=Mfc42Installer
[Msvcp60.dll]
FileVersion=6,0,8168,0
hook=Mfc42Installer
[Olepro32.dll]
FileVersion=5,0,4277,1
hook=Mfc42Installer
[Mfc42Installer]
file-win32-x86=http://svr/rep/cabs/Mfc42.cab
InfFile=mfc42.inf
[moncontrol.ocx]
file-win32-x86=thiscab
clsid={291B1986-C344-11D2-A7CE-0060087342CE}
FileVersion=1,7,0,0
RegisterServer=yes
[bfd.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[acteur.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[quit.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[zoom.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[blocs.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[flechdro.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[flechgau.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[proc.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[retour.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[service.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[type.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[deco.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[contexte.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[pointfic.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
ByB wrote:J'ai entendu dire que pour l'install, il fallait générer un fichier
.CAB contenant l'ActiveX et un fichier .INF contenant des informations
pour l'installation.
a) Où puis-je trouver des informations et des exemples sur la syntaxe
de ce fichier .INF ?
b) Pour fonctionner, mon ActiveX doit disposer d'une DLL spécifique
qui doit se trouver dans le dossier WINDOWS de l'utilisateur.
Comment puis-je faire pour qu'à l'installation de l'ActiveX, cette
DLL, qui sera contenue dans le fichier .CAB avec l'ActiveX, soit
placée dans le bon dossier ?
Bonjour,
Les articles suivants peuvent déjà aider:
http://support.microsoft.com/kb/167158/EN-US/
http://support.microsoft.com/kb/165075/EN-US/
http://support.microsoft.com/kb/165075/EN-US/
Le dossier Windows est représenté par la valeur 10 dans les scripts et le
dossier SYSTEM32 par 11 (ne me demandez surtout pas pourquoi :-) ). Notez que
le .INF inséré dans le .CAB doit avoir le même nom que le .CAB.
Veuillez également noter que votre package devrait normalement être signé
digitalement (clés à obtenir auprès de Verisign ou organisme similaire). S'il
ne l'est pas, dans un grand nombre de cas, le téléchargement sera refusé
surtout sous XP SP2. Mais tout utilisateur raisonnable ou tout administrateur
un tant soit peu professionnel dans une entreprise interdira le
téléchargement de contrôles non signés. L'obtention de clés pour la signature
prend un peu de temps (et coûte un peu d'argent) car une enquête est
nécessaire, aussi il faut vous y prendre à l'avance. Pas au moment de mettre
vos pages en ligne.
Ce point est essentiel. Voir
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaxctrl/html/msdn_deplactx.asp
.
Enfin, votre page ne fonctionnera que sous IE ou dans un browser disposant
d'un plugin de support des ActiveX Controls. Par exemple, Firefox nécessite
un plugin spécial pour les ActiveX Controls. S'il n'est pas installé chez
l'utilisateur, votre page ne fonctionnera pas.
Voici un exemple de .INF très simple installant un ActiveX Control développé
avec VB et nécessitant la runtime VB :
; ================== MonControl.inf ====================== > ; Ce fichier pilote le téléchargement des modules nécessaires
; au fonctionnement de MonControl sur la station cliente.
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
Msvbvm60.dll=Msvbvm60.dll
MonControl.ocx=MonControl.ocx
[Msvbvm60.dll]
FileVersion=6,0,88,77
hook=VBRunTimeInstaller
[VBRunTimeInstaller]
file-win32-x86=https://www.monserveur.com/monappli/vbruntime.cab
InfFile=vbruntime.inf
[MonControl.ocx]
file-win32-x86=thiscab
clsid={155AD126-8C97-11D3-A7CF-0060087342CE}
FileVersion=1,1,0,8
RegisterServer=yes
; Tout part de la section ADD.Code
; Chaque entrée spécifie le nom d'un module à installer
; et indique quelle section décrit cette installation
; (habituellement, la section porte le même nom que le module)
;
; MonControl.ocx est inclus dans le fichier .CAB et indique
; un numéro de version minimum et un CLSID.
; Si ces conditions ne sont pas remplies, le .OCX est installé
; automatiquement.
;
; Pour la runtime, si elle n'est pas présente ou pas à la bonne
; version, IE télécharge le package VBRUNTIME.CAB à l'URL indiquée
; et procède à l'installation selon les indications de VBRUNTIME.INF
; qui sera présent dans VBRUNTIME.CAB.
;
; Ce mécanisme est décrit dans la MSDN Library par l'article Q165075
; ainsi que dans la documentation de l'assistant d'empaquetage de VB.
Voici un exemple plus complexe pour un contrôle développé en VC++. Il
installe le contrôle, quelques bitmaps dans le répertoire Windows et vérifie
si la runtime est rpésente. Si elle ne l'est pas, il l'installe.
; ================== exemple.inf ====================== > ; Ce fichier pilote le téléchargement des modules nécessaires
; au fonctionnement de moncontrol sur la station cliente.
; La section ADD.CODE indique quelle section du script doit être exécutée
pour
; installer un fichier particulier. Par exemple, pour installer
moncontrol.ocx,
; l'interpréteur va exécuter la section [moncontrol.ocx] (le nom peut être
différent
; de celui du fichier).
;
; La section [moncontrol.ocx] indique
;
; file-win32-x86=thiscab
; le fichier se trouve dans le .CAB contenant ce .INF.
; clsid={291B1986-C344-11D2-A7CE-0060087342CE}
; le CLSID du composant
; FileVersion=1,7,0,0
; la version minimum
; RegisterServer=yes
; que le fichier doit être enregistré
;
; Pour les fichiers runtime des MFC, chaque section indique que si le fichier
; n'est pas présent, on doit exécuter la section [Mfc42Installer]
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
Mfc42.dll=Mfc42.dll
Msvcp60.dll=Msvcp60.dll
Msvcrt.dll=Msvcrt.dll
Olepro32.dll=Olepro32.dll
moncontrol.ocx=moncontrol.ocx
bfd.bmp¿d.bmp
quit.bmp=quit.bmp
zoom.bmp=zoom.bmp
blocs.bmp=blocs.bmp
flechdro.bmp=flechdro.bmp
flechgau.bmp=flechgau.bmp
proc.bmp=proc.bmp
retour.bmp=retour.bmp
service.bmp=service.bmp
type.bmp=type.bmp
contexte.bmp=contexte.bmp
deco.bmpÞco.bmp
pointfic.bmp=pointfic.bmp
acteur.bmp¬teur.bmp
[Msvcrt.dll]
FileVersion=6,0,8797,0
hook=Mfc42Installer
[Mfc42.dll]
FileVersion=6,0,8665,0
hook=Mfc42Installer
[Msvcp60.dll]
FileVersion=6,0,8168,0
hook=Mfc42Installer
[Olepro32.dll]
FileVersion=5,0,4277,1
hook=Mfc42Installer
[Mfc42Installer]
file-win32-x86=http://svr/rep/cabs/Mfc42.cab
InfFile=mfc42.inf
[moncontrol.ocx]
file-win32-x86=thiscab
clsid={291B1986-C344-11D2-A7CE-0060087342CE}
FileVersion=1,7,0,0
RegisterServer=yes
[bfd.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[acteur.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[quit.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[zoom.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[blocs.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[flechdro.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[flechgau.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[proc.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[retour.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[service.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[type.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[deco.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[contexte.bmp]
file-win32-x86=thiscab
FileVersion > DestDir
[pointfic.bmp]
file-win32-x86=thiscab
FileVersion > DestDir