Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Installation d'un classeur Excel et de la dll VB6 qu'il appelle

22 réponses
Avatar
PM
Bonjour !

J'en suis au stade de l'installation et j'ai utilisé InnoSetup comme
recommandé sur ce forum (semble excellent, mais pas très bavard au niveau d
l'aide pour un vrai débutant en ces matières).

J'ai crée un setup.exe qui marche sur mon ordi. Pas sur celui de
l'utilisateur, hélas...

Il installe parfaitement le classeur Excel, la ddl ET la référence a l'air
ok. Dans le classeur, la référence à la dll apparaît et je retrouve bien
tous les objets dans l'explorateur d'objets.

Mais les commandes qui appellent ces objets ne marchent pas: erreur no 429
"Un composant ActiveX ne peut pas créer d'objets".
Normalement, amtha, la référence ne fonctionne pas.
L'entrer à nouveau manuellement ne marche pas.

Je me sens au-delà de mes capacités normales. J'apprécierais grandement un
coup de main de nos experts...
Patrick



Rens. compl :
Voici ma section [Files] dans InnoSetup.
Elle commence par les fichiers VB nécessaires tels qu'indiqués sur l'article
"How to" des FAQ InnoSetup.
A la fin, j'ai mis en commentaires, deux fichiers supplémentaire qui
figurent dans le script produit par l'assistant d'emapquetage et de dév de
VB (qui ne fonctionne pas correctement chez moi...). Devrais-je les
télécharger chez Microsoft et les inclure. Si oui, les flags sont-ils
corrects ?

Source: "vbfiles\msvbvm60.dll"; DestDir: "{sys}"; Flags: restartreplace
uninsneveruninstall sharedfile regserver
Source: "vbfiles\oleaut32.dll"; DestDir: "{sys}"; Flags: restartreplace
uninsneveruninstall sharedfile regserver
Source: "vbfiles\olepro32.dll"; DestDir: "{sys}"; Flags: restartreplace
uninsneveruninstall sharedfile regserver
Source: "vbfiles\asycfilt.dll"; DestDir: "{sys}"; Flags: restartreplace
uninsneveruninstall sharedfile
Source: "vbfiles\comcat.dll"; DestDir: "{sys}"; Flags: restartreplace
uninsneveruninstall sharedfile regserver
Source: "vbfiles\stdole2.tlb"; DestDir: "{sys}"; Flags: restartreplace
uninsneveruninstall sharedfile regtypelib
;Source: "vbfiles\VB6STKIT.dll"; DestDir: "{sys}"; Flags: restartreplace
uninsneveruninstall sharedfile regserver
;Source: "vbfiles\VB6FR.dll"; DestDir: "{sys}"; Flags: restartreplace
uninsneveruninstall sharedfile regserver
; end VB system files

Source: "C:\Documents and Settings\patrick\Mes documents\Sharepart\SHAREPART
1.0FR.xls"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Documents and Settings\patrick\Mes
documents\Sharepart\Basic\codeVB.dll"; DestDir: "{app}"; Flags:
ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

10 réponses

1 2 3
Avatar
ng
Salut,

As-tu fournis la bonne version de ta DLL ? Utilises-tu une compatibilité
binaire lors de la compilation de ta DLL ?

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
Bonjour !

J'en suis au stade de l'installation et j'ai utilisé InnoSetup comme
recommandé sur ce forum (semble excellent, mais pas très bavard au
niveau d l'aide pour un vrai débutant en ces matières).

J'ai crée un setup.exe qui marche sur mon ordi. Pas sur celui de
l'utilisateur, hélas...

Il installe parfaitement le classeur Excel, la ddl ET la référence a
l'air ok. Dans le classeur, la référence à la dll apparaît et je
retrouve bien tous les objets dans l'explorateur d'objets.

Mais les commandes qui appellent ces objets ne marchent pas: erreur
no 429 "Un composant ActiveX ne peut pas créer d'objets".
Normalement, amtha, la référence ne fonctionne pas.
L'entrer à nouveau manuellement ne marche pas.

Je me sens au-delà de mes capacités normales. J'apprécierais
grandement un coup de main de nos experts...
Patrick



Rens. compl :
Voici ma section [Files] dans InnoSetup.
Elle commence par les fichiers VB nécessaires tels qu'indiqués sur
l'article "How to" des FAQ InnoSetup.
A la fin, j'ai mis en commentaires, deux fichiers supplémentaire qui
figurent dans le script produit par l'assistant d'emapquetage et de
dév de VB (qui ne fonctionne pas correctement chez moi...).
Devrais-je les télécharger chez Microsoft et les inclure. Si oui, les
flags sont-ils corrects ?

Source: "vbfilesmsvbvm60.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesoleaut32.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesolepro32.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesasycfilt.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile
Source: "vbfilescomcat.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesstdole2.tlb"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regtypelib
;Source: "vbfilesVB6STKIT.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
;Source: "vbfilesVB6FR.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
; end VB system files

Source: "C:Documents and SettingspatrickMes
documentsSharepartSHAREPART 1.0FR.xls"; DestDir: "{app}"; Flags:
ignoreversion
Source: "C:Documents and SettingspatrickMes
documentsSharepartBasiccodeVB.dll"; DestDir: "{app}"; Flags:
ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files


Avatar
PM
Merci de ta réponse, Nicolas.

As-tu fournis la bonne version de ta DLL ?


Oui, c'est sûr. Chaque version est appelée par sa date.
Même si c'était une mauvaise version, je devrais avoir un appel, suive, le
cas échéant d'erreurs de programmation, non ?

Utilises-tu une compatibilité binaire lors de la compilation de ta DLL ?


J'ai fait le minimum syndical requis par InnoSetup...
Je n'ai rien rajouté, donc probablement pas ce que tu évoques.

A+


"ng" a écrit dans le message de news:
%
Salut,


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
Bonjour !

J'en suis au stade de l'installation et j'ai utilisé InnoSetup comme
recommandé sur ce forum (semble excellent, mais pas très bavard au
niveau d l'aide pour un vrai débutant en ces matières).

J'ai crée un setup.exe qui marche sur mon ordi. Pas sur celui de
l'utilisateur, hélas...

Il installe parfaitement le classeur Excel, la ddl ET la référence a
l'air ok. Dans le classeur, la référence à la dll apparaît et je
retrouve bien tous les objets dans l'explorateur d'objets.

Mais les commandes qui appellent ces objets ne marchent pas: erreur
no 429 "Un composant ActiveX ne peut pas créer d'objets".
Normalement, amtha, la référence ne fonctionne pas.
L'entrer à nouveau manuellement ne marche pas.

Je me sens au-delà de mes capacités normales. J'apprécierais
grandement un coup de main de nos experts...
Patrick



Rens. compl :
Voici ma section [Files] dans InnoSetup.
Elle commence par les fichiers VB nécessaires tels qu'indiqués sur
l'article "How to" des FAQ InnoSetup.
A la fin, j'ai mis en commentaires, deux fichiers supplémentaire qui
figurent dans le script produit par l'assistant d'emapquetage et de
dév de VB (qui ne fonctionne pas correctement chez moi...).
Devrais-je les télécharger chez Microsoft et les inclure. Si oui, les
flags sont-ils corrects ?

Source: "vbfilesmsvbvm60.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesoleaut32.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesolepro32.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesasycfilt.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile
Source: "vbfilescomcat.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesstdole2.tlb"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regtypelib
;Source: "vbfilesVB6STKIT.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
;Source: "vbfilesVB6FR.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
; end VB system files

Source: "C:Documents and SettingspatrickMes
documentsSharepartSHAREPART 1.0FR.xls"; DestDir: "{app}"; Flags:
ignoreversion
Source: "C:Documents and SettingspatrickMes
documentsSharepartBasiccodeVB.dll"; DestDir: "{app}"; Flags:
ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files






Avatar
ng
Salut,

Utilises-tu une compatibilité binaire lors de la compilation de ta
DLL ?


J'ai fait le minimum syndical requis par InnoSetup...
Je n'ai rien rajouté, donc probablement pas ce que tu évoques.



Non en fait cela se règle dans VB dans les paramètres du projet.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
Merci de ta réponse, Nicolas.

As-tu fournis la bonne version de ta DLL ?


Oui, c'est sûr. Chaque version est appelée par sa date.
Même si c'était une mauvaise version, je devrais avoir un appel,
suive, le cas échéant d'erreurs de programmation, non ?

Utilises-tu une compatibilité binaire lors de la compilation de ta
DLL ?


J'ai fait le minimum syndical requis par InnoSetup...
Je n'ai rien rajouté, donc probablement pas ce que tu évoques.

A+


"ng" a écrit dans le message de news:
%
Salut,


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
Bonjour !

J'en suis au stade de l'installation et j'ai utilisé InnoSetup comme
recommandé sur ce forum (semble excellent, mais pas très bavard au
niveau d l'aide pour un vrai débutant en ces matières).

J'ai crée un setup.exe qui marche sur mon ordi. Pas sur celui de
l'utilisateur, hélas...

Il installe parfaitement le classeur Excel, la ddl ET la référence a
l'air ok. Dans le classeur, la référence à la dll apparaît et je
retrouve bien tous les objets dans l'explorateur d'objets.

Mais les commandes qui appellent ces objets ne marchent pas: erreur
no 429 "Un composant ActiveX ne peut pas créer d'objets".
Normalement, amtha, la référence ne fonctionne pas.
L'entrer à nouveau manuellement ne marche pas.

Je me sens au-delà de mes capacités normales. J'apprécierais
grandement un coup de main de nos experts...
Patrick



Rens. compl :
Voici ma section [Files] dans InnoSetup.
Elle commence par les fichiers VB nécessaires tels qu'indiqués sur
l'article "How to" des FAQ InnoSetup.
A la fin, j'ai mis en commentaires, deux fichiers supplémentaire qui
figurent dans le script produit par l'assistant d'emapquetage et de
dév de VB (qui ne fonctionne pas correctement chez moi...).
Devrais-je les télécharger chez Microsoft et les inclure. Si oui,
les flags sont-ils corrects ?

Source: "vbfilesmsvbvm60.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesoleaut32.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesolepro32.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesasycfilt.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile
Source: "vbfilescomcat.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesstdole2.tlb"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regtypelib
;Source: "vbfilesVB6STKIT.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
;Source: "vbfilesVB6FR.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
; end VB system files

Source: "C:Documents and SettingspatrickMes
documentsSharepartSHAREPART 1.0FR.xls"; DestDir: "{app}"; Flags:
ignoreversion
Source: "C:Documents and SettingspatrickMes
documentsSharepartBasiccodeVB.dll"; DestDir: "{app}"; Flags:
ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files






Avatar
PM
J'ai tenté.
Il faut indiquer avec quoi établir la compatibilité binaire.
Comme je n'ai pas d'autre version, je ne vois pas trop quoi mettre.
L'ordi utilisateur ne connaît rien de mon appli, je ne vois pas où il
rencontre des pbs de compatibilité ?

J'ai aussi tenté d'indiquer mon classeur Excel comme "composant compatible".
Il tente de l'ouvrir et répond impossible.
Bref, je suis coincé !
Bien coincé...


"ng" a écrit dans le message de news:

Salut,

Utilises-tu une compatibilité binaire lors de la compilation de ta
DLL ?


J'ai fait le minimum syndical requis par InnoSetup...
Je n'ai rien rajouté, donc probablement pas ce que tu évoques.



Non en fait cela se règle dans VB dans les paramètres du projet.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
Merci de ta réponse, Nicolas.

As-tu fournis la bonne version de ta DLL ?


Oui, c'est sûr. Chaque version est appelée par sa date.
Même si c'était une mauvaise version, je devrais avoir un appel,
suive, le cas échéant d'erreurs de programmation, non ?

Utilises-tu une compatibilité binaire lors de la compilation de ta
DLL ?


J'ai fait le minimum syndical requis par InnoSetup...
Je n'ai rien rajouté, donc probablement pas ce que tu évoques.

A+


"ng" a écrit dans le message de news:
%
Salut,


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
Bonjour !

J'en suis au stade de l'installation et j'ai utilisé InnoSetup comme
recommandé sur ce forum (semble excellent, mais pas très bavard au
niveau d l'aide pour un vrai débutant en ces matières).

J'ai crée un setup.exe qui marche sur mon ordi. Pas sur celui de
l'utilisateur, hélas...

Il installe parfaitement le classeur Excel, la ddl ET la référence a
l'air ok. Dans le classeur, la référence à la dll apparaît et je
retrouve bien tous les objets dans l'explorateur d'objets.

Mais les commandes qui appellent ces objets ne marchent pas: erreur
no 429 "Un composant ActiveX ne peut pas créer d'objets".
Normalement, amtha, la référence ne fonctionne pas.
L'entrer à nouveau manuellement ne marche pas.

Je me sens au-delà de mes capacités normales. J'apprécierais
grandement un coup de main de nos experts...
Patrick



Rens. compl :
Voici ma section [Files] dans InnoSetup.
Elle commence par les fichiers VB nécessaires tels qu'indiqués sur
l'article "How to" des FAQ InnoSetup.
A la fin, j'ai mis en commentaires, deux fichiers supplémentaire qui
figurent dans le script produit par l'assistant d'emapquetage et de
dév de VB (qui ne fonctionne pas correctement chez moi...).
Devrais-je les télécharger chez Microsoft et les inclure. Si oui,
les flags sont-ils corrects ?

Source: "vbfilesmsvbvm60.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesoleaut32.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesolepro32.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesasycfilt.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile
Source: "vbfilescomcat.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesstdole2.tlb"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regtypelib
;Source: "vbfilesVB6STKIT.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
;Source: "vbfilesVB6FR.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
; end VB system files

Source: "C:Documents and SettingspatrickMes
documentsSharepartSHAREPART 1.0FR.xls"; DestDir: "{app}"; Flags:
ignoreversion
Source: "C:Documents and SettingspatrickMes
documentsSharepartBasiccodeVB.dll"; DestDir: "{app}"; Flags:
ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files










Avatar
ng
Salut,

Il faut indiqué ton propre composant :

1/ compile ton composant
2/ indique le dans les propriétés
3/ qd tu recompileras tu garderas le mm GUID.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
J'ai tenté.
Il faut indiquer avec quoi établir la compatibilité binaire.
Comme je n'ai pas d'autre version, je ne vois pas trop quoi mettre.
L'ordi utilisateur ne connaît rien de mon appli, je ne vois pas où il
rencontre des pbs de compatibilité ?

J'ai aussi tenté d'indiquer mon classeur Excel comme "composant
compatible". Il tente de l'ouvrir et répond impossible.
Bref, je suis coincé !
Bien coincé...


"ng" a écrit dans le message de news:

Salut,

Utilises-tu une compatibilité binaire lors de la compilation de ta
DLL ?


J'ai fait le minimum syndical requis par InnoSetup...
Je n'ai rien rajouté, donc probablement pas ce que tu évoques.



Non en fait cela se règle dans VB dans les paramètres du projet.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
Merci de ta réponse, Nicolas.

As-tu fournis la bonne version de ta DLL ?


Oui, c'est sûr. Chaque version est appelée par sa date.
Même si c'était une mauvaise version, je devrais avoir un appel,
suive, le cas échéant d'erreurs de programmation, non ?

Utilises-tu une compatibilité binaire lors de la compilation de ta
DLL ?


J'ai fait le minimum syndical requis par InnoSetup...
Je n'ai rien rajouté, donc probablement pas ce que tu évoques.

A+


"ng" a écrit dans le message de news:
%
Salut,


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
Bonjour !

J'en suis au stade de l'installation et j'ai utilisé InnoSetup
comme recommandé sur ce forum (semble excellent, mais pas très
bavard au niveau d l'aide pour un vrai débutant en ces matières).

J'ai crée un setup.exe qui marche sur mon ordi. Pas sur celui de
l'utilisateur, hélas...

Il installe parfaitement le classeur Excel, la ddl ET la
référence a l'air ok. Dans le classeur, la référence à la dll
apparaît et je retrouve bien tous les objets dans l'explorateur
d'objets. Mais les commandes qui appellent ces objets ne marchent pas:
erreur no 429 "Un composant ActiveX ne peut pas créer d'objets".
Normalement, amtha, la référence ne fonctionne pas.
L'entrer à nouveau manuellement ne marche pas.

Je me sens au-delà de mes capacités normales. J'apprécierais
grandement un coup de main de nos experts...
Patrick



Rens. compl :
Voici ma section [Files] dans InnoSetup.
Elle commence par les fichiers VB nécessaires tels qu'indiqués sur
l'article "How to" des FAQ InnoSetup.
A la fin, j'ai mis en commentaires, deux fichiers supplémentaire
qui figurent dans le script produit par l'assistant d'emapquetage
et de dév de VB (qui ne fonctionne pas correctement chez moi...).
Devrais-je les télécharger chez Microsoft et les inclure. Si oui,
les flags sont-ils corrects ?

Source: "vbfilesmsvbvm60.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesoleaut32.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesolepro32.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesasycfilt.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile
Source: "vbfilescomcat.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesstdole2.tlb"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regtypelib
;Source: "vbfilesVB6STKIT.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
;Source: "vbfilesVB6FR.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
; end VB system files

Source: "C:Documents and SettingspatrickMes
documentsSharepartSHAREPART 1.0FR.xls"; DestDir: "{app}"; Flags:
ignoreversion
Source: "C:Documents and SettingspatrickMes
documentsSharepartBasiccodeVB.dll"; DestDir: "{app}"; Flags:
ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system
files










Avatar
PM
Ok, je vais faire ça aussi.
Mais pour info, l'essentiel de la réponse semble être:

il faut enregistrer les dll avec le flag regserver ; donc comme suit,
dans mon cas :
Source: "C:Documents and SettingspatrickMes
documentsSharepartBasiccodeVB.dll"; DestDir: "{app}";
Flags: ignoreversion regserver
sinon elle n'est tout simplement pas enregistrée ;-). C'est ce qui se
passait.

J'ai pas trouvé tout seul, je te rassure ! La réponse vient du forum
InnoSetup.
http://www.jrsoftware.org/newsgroups.php
J'espère qu'elle peut rendre service à d'autres.

Je vais donc faire ce que tu dis, mais je ne comprends pas bien pourquoi.
Sur notre grande toile, tout ce qui concerne la compatibilité binaire semble
être lié à la compatibilité des versions...

Un grand merci.
Patrick

"ng" a écrit dans le message de news:
%23K$
Salut,

Il faut indiqué ton propre composant :

1/ compile ton composant
2/ indique le dans les propriétés
3/ qd tu recompileras tu garderas le mm GUID.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
J'ai tenté.
Il faut indiquer avec quoi établir la compatibilité binaire.
Comme je n'ai pas d'autre version, je ne vois pas trop quoi mettre.
L'ordi utilisateur ne connaît rien de mon appli, je ne vois pas où il
rencontre des pbs de compatibilité ?

J'ai aussi tenté d'indiquer mon classeur Excel comme "composant
compatible". Il tente de l'ouvrir et répond impossible.
Bref, je suis coincé !
Bien coincé...


"ng" a écrit dans le message de news:

Salut,

Utilises-tu une compatibilité binaire lors de la compilation de ta
DLL ?


J'ai fait le minimum syndical requis par InnoSetup...
Je n'ai rien rajouté, donc probablement pas ce que tu évoques.



Non en fait cela se règle dans VB dans les paramètres du projet.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
Merci de ta réponse, Nicolas.

As-tu fournis la bonne version de ta DLL ?


Oui, c'est sûr. Chaque version est appelée par sa date.
Même si c'était une mauvaise version, je devrais avoir un appel,
suive, le cas échéant d'erreurs de programmation, non ?

Utilises-tu une compatibilité binaire lors de la compilation de ta
DLL ?


J'ai fait le minimum syndical requis par InnoSetup...
Je n'ai rien rajouté, donc probablement pas ce que tu évoques.

A+


"ng" a écrit dans le message de news:
%
Salut,


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
Bonjour !

J'en suis au stade de l'installation et j'ai utilisé InnoSetup
comme recommandé sur ce forum (semble excellent, mais pas très
bavard au niveau d l'aide pour un vrai débutant en ces matières).

J'ai crée un setup.exe qui marche sur mon ordi. Pas sur celui de
l'utilisateur, hélas...

Il installe parfaitement le classeur Excel, la ddl ET la
référence a l'air ok. Dans le classeur, la référence à la dll
apparaît et je retrouve bien tous les objets dans l'explorateur
d'objets. Mais les commandes qui appellent ces objets ne marchent
pas:
erreur no 429 "Un composant ActiveX ne peut pas créer d'objets".
Normalement, amtha, la référence ne fonctionne pas.
L'entrer à nouveau manuellement ne marche pas.

Je me sens au-delà de mes capacités normales. J'apprécierais
grandement un coup de main de nos experts...
Patrick



Rens. compl :
Voici ma section [Files] dans InnoSetup.
Elle commence par les fichiers VB nécessaires tels qu'indiqués sur
l'article "How to" des FAQ InnoSetup.
A la fin, j'ai mis en commentaires, deux fichiers supplémentaire
qui figurent dans le script produit par l'assistant d'emapquetage
et de dév de VB (qui ne fonctionne pas correctement chez moi...).
Devrais-je les télécharger chez Microsoft et les inclure. Si oui,
les flags sont-ils corrects ?

Source: "vbfilesmsvbvm60.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesoleaut32.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesolepro32.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesasycfilt.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile
Source: "vbfilescomcat.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesstdole2.tlb"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regtypelib
;Source: "vbfilesVB6STKIT.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
;Source: "vbfilesVB6FR.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
; end VB system files

Source: "C:Documents and SettingspatrickMes
documentsSharepartSHAREPART 1.0FR.xls"; DestDir: "{app}"; Flags:
ignoreversion
Source: "C:Documents and SettingspatrickMes
documentsSharepartBasiccodeVB.dll"; DestDir: "{app}"; Flags:
ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system
files














Avatar
ng
Ok,

En effet la compatibilité binaire te permettra de mettre à jour ta DLL sans
problème de compatibilité !

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
Ok, je vais faire ça aussi.
Mais pour info, l'essentiel de la réponse semble être:

il faut enregistrer les dll avec le flag regserver ; donc comme
suit, dans mon cas :
Source: "C:Documents and SettingspatrickMes
documentsSharepartBasiccodeVB.dll"; DestDir: "{app}";
Flags: ignoreversion regserver
sinon elle n'est tout simplement pas enregistrée ;-). C'est ce qui
se passait.

J'ai pas trouvé tout seul, je te rassure ! La réponse vient du forum
InnoSetup.
http://www.jrsoftware.org/newsgroups.php
J'espère qu'elle peut rendre service à d'autres.

Je vais donc faire ce que tu dis, mais je ne comprends pas bien
pourquoi. Sur notre grande toile, tout ce qui concerne la
compatibilité binaire semble être lié à la compatibilité des
versions...
Un grand merci.
Patrick

"ng" a écrit dans le message de news:
%23K$
Salut,

Il faut indiqué ton propre composant :

1/ compile ton composant
2/ indique le dans les propriétés
3/ qd tu recompileras tu garderas le mm GUID.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
J'ai tenté.
Il faut indiquer avec quoi établir la compatibilité binaire.
Comme je n'ai pas d'autre version, je ne vois pas trop quoi mettre.
L'ordi utilisateur ne connaît rien de mon appli, je ne vois pas où
il rencontre des pbs de compatibilité ?

J'ai aussi tenté d'indiquer mon classeur Excel comme "composant
compatible". Il tente de l'ouvrir et répond impossible.
Bref, je suis coincé !
Bien coincé...


"ng" a écrit dans le message de news:

Salut,

Utilises-tu une compatibilité binaire lors de la compilation de
ta DLL ?


J'ai fait le minimum syndical requis par InnoSetup...
Je n'ai rien rajouté, donc probablement pas ce que tu évoques.



Non en fait cela se règle dans VB dans les paramètres du projet.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
Merci de ta réponse, Nicolas.

As-tu fournis la bonne version de ta DLL ?


Oui, c'est sûr. Chaque version est appelée par sa date.
Même si c'était une mauvaise version, je devrais avoir un appel,
suive, le cas échéant d'erreurs de programmation, non ?

Utilises-tu une compatibilité binaire lors de la compilation de
ta DLL ?


J'ai fait le minimum syndical requis par InnoSetup...
Je n'ai rien rajouté, donc probablement pas ce que tu évoques.

A+


"ng" a écrit dans le message de news:
%
Salut,


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
Bonjour !

J'en suis au stade de l'installation et j'ai utilisé InnoSetup
comme recommandé sur ce forum (semble excellent, mais pas très
bavard au niveau d l'aide pour un vrai débutant en ces
matières). J'ai crée un setup.exe qui marche sur mon ordi. Pas sur
celui de
l'utilisateur, hélas...

Il installe parfaitement le classeur Excel, la ddl ET la
référence a l'air ok. Dans le classeur, la référence à la dll
apparaît et je retrouve bien tous les objets dans l'explorateur
d'objets. Mais les commandes qui appellent ces objets ne
marchent pas:
erreur no 429 "Un composant ActiveX ne peut pas créer d'objets".
Normalement, amtha, la référence ne fonctionne pas.
L'entrer à nouveau manuellement ne marche pas.

Je me sens au-delà de mes capacités normales. J'apprécierais
grandement un coup de main de nos experts...
Patrick



Rens. compl :
Voici ma section [Files] dans InnoSetup.
Elle commence par les fichiers VB nécessaires tels qu'indiqués
sur l'article "How to" des FAQ InnoSetup.
A la fin, j'ai mis en commentaires, deux fichiers supplémentaire
qui figurent dans le script produit par l'assistant
d'emapquetage et de dév de VB (qui ne fonctionne pas
correctement chez moi...). Devrais-je les télécharger chez
Microsoft et les inclure. Si oui, les flags sont-ils corrects ?

Source: "vbfilesmsvbvm60.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesoleaut32.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesolepro32.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesasycfilt.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile
Source: "vbfilescomcat.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesstdole2.tlb"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regtypelib
;Source: "vbfilesVB6STKIT.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
;Source: "vbfilesVB6FR.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
; end VB system files

Source: "C:Documents and SettingspatrickMes
documentsSharepartSHAREPART 1.0FR.xls"; DestDir: "{app}";
Flags: ignoreversion
Source: "C:Documents and SettingspatrickMes
documentsSharepartBasiccodeVB.dll"; DestDir: "{app}"; Flags:
ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system
files














Avatar
Patrice Henrio
C'est quoi concrétement la compatibilité binaire ?

"ng" a écrit dans le message de news:
%
Ok,

En effet la compatibilité binaire te permettra de mettre à jour ta DLL
sans problème de compatibilité !

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
Ok, je vais faire ça aussi.
Mais pour info, l'essentiel de la réponse semble être:

il faut enregistrer les dll avec le flag regserver ; donc comme
suit, dans mon cas :
Source: "C:Documents and SettingspatrickMes
documentsSharepartBasiccodeVB.dll"; DestDir: "{app}";
Flags: ignoreversion regserver
sinon elle n'est tout simplement pas enregistrée ;-). C'est ce qui
se passait.

J'ai pas trouvé tout seul, je te rassure ! La réponse vient du forum
InnoSetup.
http://www.jrsoftware.org/newsgroups.php
J'espère qu'elle peut rendre service à d'autres.

Je vais donc faire ce que tu dis, mais je ne comprends pas bien
pourquoi. Sur notre grande toile, tout ce qui concerne la
compatibilité binaire semble être lié à la compatibilité des
versions...
Un grand merci.
Patrick

"ng" a écrit dans le message de news:
%23K$
Salut,

Il faut indiqué ton propre composant :

1/ compile ton composant
2/ indique le dans les propriétés
3/ qd tu recompileras tu garderas le mm GUID.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
J'ai tenté.
Il faut indiquer avec quoi établir la compatibilité binaire.
Comme je n'ai pas d'autre version, je ne vois pas trop quoi mettre.
L'ordi utilisateur ne connaît rien de mon appli, je ne vois pas où
il rencontre des pbs de compatibilité ?

J'ai aussi tenté d'indiquer mon classeur Excel comme "composant
compatible". Il tente de l'ouvrir et répond impossible.
Bref, je suis coincé !
Bien coincé...


"ng" a écrit dans le message de news:

Salut,

Utilises-tu une compatibilité binaire lors de la compilation de
ta DLL ?


J'ai fait le minimum syndical requis par InnoSetup...
Je n'ai rien rajouté, donc probablement pas ce que tu évoques.



Non en fait cela se règle dans VB dans les paramètres du projet.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
Merci de ta réponse, Nicolas.

As-tu fournis la bonne version de ta DLL ?


Oui, c'est sûr. Chaque version est appelée par sa date.
Même si c'était une mauvaise version, je devrais avoir un appel,
suive, le cas échéant d'erreurs de programmation, non ?

Utilises-tu une compatibilité binaire lors de la compilation de
ta DLL ?


J'ai fait le minimum syndical requis par InnoSetup...
Je n'ai rien rajouté, donc probablement pas ce que tu évoques.

A+


"ng" a écrit dans le message de news:
%
Salut,


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
Bonjour !

J'en suis au stade de l'installation et j'ai utilisé InnoSetup
comme recommandé sur ce forum (semble excellent, mais pas très
bavard au niveau d l'aide pour un vrai débutant en ces
matières). J'ai crée un setup.exe qui marche sur mon ordi. Pas sur
celui de
l'utilisateur, hélas...

Il installe parfaitement le classeur Excel, la ddl ET la
référence a l'air ok. Dans le classeur, la référence à la dll
apparaît et je retrouve bien tous les objets dans l'explorateur
d'objets. Mais les commandes qui appellent ces objets ne
marchent pas:
erreur no 429 "Un composant ActiveX ne peut pas créer d'objets".
Normalement, amtha, la référence ne fonctionne pas.
L'entrer à nouveau manuellement ne marche pas.

Je me sens au-delà de mes capacités normales. J'apprécierais
grandement un coup de main de nos experts...
Patrick



Rens. compl :
Voici ma section [Files] dans InnoSetup.
Elle commence par les fichiers VB nécessaires tels qu'indiqués
sur l'article "How to" des FAQ InnoSetup.
A la fin, j'ai mis en commentaires, deux fichiers supplémentaire
qui figurent dans le script produit par l'assistant
d'emapquetage et de dév de VB (qui ne fonctionne pas
correctement chez moi...). Devrais-je les télécharger chez
Microsoft et les inclure. Si oui, les flags sont-ils corrects ?

Source: "vbfilesmsvbvm60.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesoleaut32.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesolepro32.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesasycfilt.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile
Source: "vbfilescomcat.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesstdole2.tlb"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regtypelib
;Source: "vbfilesVB6STKIT.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
;Source: "vbfilesVB6FR.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
; end VB system files

Source: "C:Documents and SettingspatrickMes
documentsSharepartSHAREPART 1.0FR.xls"; DestDir: "{app}";
Flags: ignoreversion
Source: "C:Documents and SettingspatrickMes
documentsSharepartBasiccodeVB.dll"; DestDir: "{app}"; Flags:
ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system
files


















Avatar
ng
Salut,

Toutes les classes des composants COM (DLL ActiveX, EXE ActiveX, OCX...)
sont identifiables par un ProgID (MonComposant.Classe) et par un CLSID (sous
la forme d'un GUID unique donc). En late binding on se sert du progid qui ne
varie pas donc aucun problème ca fonctionne qqsoit la version. Par contre en
earlybinding on utilise le CLSID unique à chaque classe qui hélas en VB
n'est pas définissable (directement) par le développeur et change à chaque
compilation ! Ce qui provoque évidemment des problèmes de compatibilités (si
on installe une version plus recente avec un CLSID changé alors les
programmes compilés utilisant l'ancienne version ne fonctionneront plus).

La compatibilité binaire sous VB permet de régler ce problème en
s'assurant de garder le même CLSID (il faut juste spécifié le fichier avec
lequel rester compatible, on mets traditionnellement le fichier lui même).

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Patrice Henrio wrote:
C'est quoi concrétement la compatibilité binaire ?

"ng" a écrit dans le message de news:
%
Ok,

En effet la compatibilité binaire te permettra de mettre à jour ta
DLL sans problème de compatibilité !

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
Ok, je vais faire ça aussi.
Mais pour info, l'essentiel de la réponse semble être:

il faut enregistrer les dll avec le flag regserver ; donc comme
suit, dans mon cas :
Source: "C:Documents and SettingspatrickMes
documentsSharepartBasiccodeVB.dll"; DestDir: "{app}";
Flags: ignoreversion regserver
sinon elle n'est tout simplement pas enregistrée ;-). C'est ce
qui se passait.

J'ai pas trouvé tout seul, je te rassure ! La réponse vient du forum
InnoSetup.
http://www.jrsoftware.org/newsgroups.php
J'espère qu'elle peut rendre service à d'autres.

Je vais donc faire ce que tu dis, mais je ne comprends pas bien
pourquoi. Sur notre grande toile, tout ce qui concerne la
compatibilité binaire semble être lié à la compatibilité des
versions...
Un grand merci.
Patrick

"ng" a écrit dans le message de news:
%23K$
Salut,

Il faut indiqué ton propre composant :

1/ compile ton composant
2/ indique le dans les propriétés
3/ qd tu recompileras tu garderas le mm GUID.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
J'ai tenté.
Il faut indiquer avec quoi établir la compatibilité binaire.
Comme je n'ai pas d'autre version, je ne vois pas trop quoi
mettre. L'ordi utilisateur ne connaît rien de mon appli, je ne
vois pas où il rencontre des pbs de compatibilité ?

J'ai aussi tenté d'indiquer mon classeur Excel comme "composant
compatible". Il tente de l'ouvrir et répond impossible.
Bref, je suis coincé !
Bien coincé...


"ng" a écrit dans le message de news:

Salut,

Utilises-tu une compatibilité binaire lors de la compilation de
ta DLL ?


J'ai fait le minimum syndical requis par InnoSetup...
Je n'ai rien rajouté, donc probablement pas ce que tu évoques.



Non en fait cela se règle dans VB dans les paramètres du projet.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
Merci de ta réponse, Nicolas.

As-tu fournis la bonne version de ta DLL ?


Oui, c'est sûr. Chaque version est appelée par sa date.
Même si c'était une mauvaise version, je devrais avoir un appel,
suive, le cas échéant d'erreurs de programmation, non ?

Utilises-tu une compatibilité binaire lors de la compilation de
ta DLL ?


J'ai fait le minimum syndical requis par InnoSetup...
Je n'ai rien rajouté, donc probablement pas ce que tu évoques.

A+


"ng" a écrit dans le message de news:
%
Salut,


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
Bonjour !

J'en suis au stade de l'installation et j'ai utilisé InnoSetup
comme recommandé sur ce forum (semble excellent, mais pas très
bavard au niveau d l'aide pour un vrai débutant en ces
matières). J'ai crée un setup.exe qui marche sur mon ordi.
Pas sur celui de
l'utilisateur, hélas...

Il installe parfaitement le classeur Excel, la ddl ET la
référence a l'air ok. Dans le classeur, la référence à la dll
apparaît et je retrouve bien tous les objets dans
l'explorateur d'objets. Mais les commandes qui appellent ces
objets ne marchent pas:
erreur no 429 "Un composant ActiveX ne peut pas créer
d'objets". Normalement, amtha, la référence ne fonctionne pas.
L'entrer à nouveau manuellement ne marche pas.

Je me sens au-delà de mes capacités normales. J'apprécierais
grandement un coup de main de nos experts...
Patrick



Rens. compl :
Voici ma section [Files] dans InnoSetup.
Elle commence par les fichiers VB nécessaires tels qu'indiqués
sur l'article "How to" des FAQ InnoSetup.
A la fin, j'ai mis en commentaires, deux fichiers
supplémentaire qui figurent dans le script produit par
l'assistant d'emapquetage et de dév de VB (qui ne fonctionne pas
correctement chez moi...). Devrais-je les télécharger chez
Microsoft et les inclure. Si oui, les flags sont-ils corrects
? Source: "vbfilesmsvbvm60.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesoleaut32.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesolepro32.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesasycfilt.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile
Source: "vbfilescomcat.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesstdole2.tlb"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regtypelib
;Source: "vbfilesVB6STKIT.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
;Source: "vbfilesVB6FR.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
; end VB system files

Source: "C:Documents and SettingspatrickMes
documentsSharepartSHAREPART 1.0FR.xls"; DestDir: "{app}";
Flags: ignoreversion
Source: "C:Documents and SettingspatrickMes
documentsSharepartBasiccodeVB.dll"; DestDir: "{app}";
Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system
files


















Avatar
PM
Merci bcp.
Ca c'est très clair.

"ng" a écrit dans le message de news:

Salut,

Toutes les classes des composants COM (DLL ActiveX, EXE ActiveX,
OCX...) sont identifiables par un ProgID (MonComposant.Classe) et par un
CLSID (sous la forme d'un GUID unique donc). En late binding on se sert du
progid qui ne varie pas donc aucun problème ca fonctionne qqsoit la
version. Par contre en earlybinding on utilise le CLSID unique à chaque
classe qui hélas en VB n'est pas définissable (directement) par le
développeur et change à chaque compilation ! Ce qui provoque évidemment
des problèmes de compatibilités (si on installe une version plus recente
avec un CLSID changé alors les programmes compilés utilisant l'ancienne
version ne fonctionneront plus).

La compatibilité binaire sous VB permet de régler ce problème en
s'assurant de garder le même CLSID (il faut juste spécifié le fichier avec
lequel rester compatible, on mets traditionnellement le fichier lui même).

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Patrice Henrio wrote:
C'est quoi concrétement la compatibilité binaire ?

"ng" a écrit dans le message de news:
%
Ok,

En effet la compatibilité binaire te permettra de mettre à jour ta
DLL sans problème de compatibilité !

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
Ok, je vais faire ça aussi.
Mais pour info, l'essentiel de la réponse semble être:

il faut enregistrer les dll avec le flag regserver ; donc comme
suit, dans mon cas :
Source: "C:Documents and SettingspatrickMes
documentsSharepartBasiccodeVB.dll"; DestDir: "{app}";
Flags: ignoreversion regserver
sinon elle n'est tout simplement pas enregistrée ;-). C'est ce
qui se passait.

J'ai pas trouvé tout seul, je te rassure ! La réponse vient du forum
InnoSetup.
http://www.jrsoftware.org/newsgroups.php
J'espère qu'elle peut rendre service à d'autres.

Je vais donc faire ce que tu dis, mais je ne comprends pas bien
pourquoi. Sur notre grande toile, tout ce qui concerne la
compatibilité binaire semble être lié à la compatibilité des
versions...
Un grand merci.
Patrick

"ng" a écrit dans le message de news:
%23K$
Salut,

Il faut indiqué ton propre composant :

1/ compile ton composant
2/ indique le dans les propriétés
3/ qd tu recompileras tu garderas le mm GUID.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
J'ai tenté.
Il faut indiquer avec quoi établir la compatibilité binaire.
Comme je n'ai pas d'autre version, je ne vois pas trop quoi
mettre. L'ordi utilisateur ne connaît rien de mon appli, je ne
vois pas où il rencontre des pbs de compatibilité ?

J'ai aussi tenté d'indiquer mon classeur Excel comme "composant
compatible". Il tente de l'ouvrir et répond impossible.
Bref, je suis coincé !
Bien coincé...


"ng" a écrit dans le message de news:

Salut,

Utilises-tu une compatibilité binaire lors de la compilation de
ta DLL ?


J'ai fait le minimum syndical requis par InnoSetup...
Je n'ai rien rajouté, donc probablement pas ce que tu évoques.



Non en fait cela se règle dans VB dans les paramètres du projet.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
Merci de ta réponse, Nicolas.

As-tu fournis la bonne version de ta DLL ?


Oui, c'est sûr. Chaque version est appelée par sa date.
Même si c'était une mauvaise version, je devrais avoir un appel,
suive, le cas échéant d'erreurs de programmation, non ?

Utilises-tu une compatibilité binaire lors de la compilation de
ta DLL ?


J'ai fait le minimum syndical requis par InnoSetup...
Je n'ai rien rajouté, donc probablement pas ce que tu évoques.

A+


"ng" a écrit dans le message de news:
%
Salut,


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

PM wrote:
Bonjour !

J'en suis au stade de l'installation et j'ai utilisé InnoSetup
comme recommandé sur ce forum (semble excellent, mais pas très
bavard au niveau d l'aide pour un vrai débutant en ces
matières). J'ai crée un setup.exe qui marche sur mon ordi.
Pas sur celui de
l'utilisateur, hélas...

Il installe parfaitement le classeur Excel, la ddl ET la
référence a l'air ok. Dans le classeur, la référence à la dll
apparaît et je retrouve bien tous les objets dans
l'explorateur d'objets. Mais les commandes qui appellent ces
objets ne marchent pas:
erreur no 429 "Un composant ActiveX ne peut pas créer
d'objets". Normalement, amtha, la référence ne fonctionne pas.
L'entrer à nouveau manuellement ne marche pas.

Je me sens au-delà de mes capacités normales. J'apprécierais
grandement un coup de main de nos experts...
Patrick



Rens. compl :
Voici ma section [Files] dans InnoSetup.
Elle commence par les fichiers VB nécessaires tels qu'indiqués
sur l'article "How to" des FAQ InnoSetup.
A la fin, j'ai mis en commentaires, deux fichiers
supplémentaire qui figurent dans le script produit par
l'assistant d'emapquetage et de dév de VB (qui ne fonctionne pas
correctement chez moi...). Devrais-je les télécharger chez
Microsoft et les inclure. Si oui, les flags sont-ils corrects
? Source: "vbfilesmsvbvm60.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesoleaut32.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesolepro32.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesasycfilt.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile
Source: "vbfilescomcat.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
Source: "vbfilesstdole2.tlb"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regtypelib
;Source: "vbfilesVB6STKIT.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
;Source: "vbfilesVB6FR.dll"; DestDir: "{sys}"; Flags:
restartreplace uninsneveruninstall sharedfile regserver
; end VB system files

Source: "C:Documents and SettingspatrickMes
documentsSharepartSHAREPART 1.0FR.xls"; DestDir: "{app}";
Flags: ignoreversion
Source: "C:Documents and SettingspatrickMes
documentsSharepartBasiccodeVB.dll"; DestDir: "{app}";
Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system
files






















1 2 3