Déploiement d'une appli VB6 utilisant DCOM pour Win98

Résolu
Pierre_faucon Messages postés 96 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 22 mai 2007 - 9 janv. 2005 à 09:37
Pierre_faucon Messages postés 96 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 22 mai 2007 - 12 janv. 2005 à 17:45
Bonjour

Je reviens, encore une fois, avec un problème d'installation de logiciel.

Je souhaite distribuer une appli VB6 utilisant une base ACCESS via ADO .
Le déploiement sur XP ne pose aucun problème. L'installation sur win98 se déroule bien, mais mon appli se plante dès qu'elle doit utiliser un objet ADO ( set con = new ADODB.Connection ).
Le pack d'installation reprend MDAC_TYP.EXE et DCOM98.EXE et les installe avant mon appli, mais celle-ci plante toujours.

De nombreuses heures de recherche sur le net, dans les Faq et KB ne m'ont apporté aucune solution. Je pense pourtant que cette problématique a été rencontrée par nombre d'entre vous car je ne suis certainement pas le seul à développer du VB6 lié à une base MDB via ADO...
Si quelqu'un(e) a une solution pour moi, il peut me la donner ou se mettre en rapport avec moi ( msn: pierre.fauconnier@pfi.be)

Je jure que, si j'ai la solution, j'envoie le champagne, ou les chocolats belges... ou les deux... !!!

Merci à toutes et tous et bon dimanche

Pierre Fauconnier

19 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
9 janv. 2005 à 10:20
Voir mon message privé pour plus d'explication, sinon, voici les lignes à rajouter dans le script inno pour les autres :

[Tasks]

Name: MDAC; Description: Microsoft Data Access Components; Flags:
checkedonce restart; MinVersion: 4.0,4.0; OnlyBelowVersion: 0,5.0



[Files]

; START MDAC

Source: Redist\MDAC\mdac_typ.exe; DestDir: {%TEMP}; MinVersion: 4.0,0;
OnlyBelowVersion: 4.1,0; Tasks: MDAC; Flags: ignoreversion

Source: Redist\MDAC\mdac_typ.exe; DestDir: {tmp}; MinVersion: 4.1,4.0;
OnlyBelowVersion: 0,5.0; Tasks: MDAC; Flags: ignoreversion

; END MDAC



[Registry]

; Delay MDAC installation on Win95 machines

;MDAC 2.0+

;Root: HKCU; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce;
ValueType: string; ValueName: MDAC_Setup; ValueData:
"""{%TEMP}\mdac_typ.exe"" /Q /C:""setup /QT"""; MinVersion: 4.0,0;
OnlyBelowVersion: 4.1,0; Tasks: MDAC

;MDAC 2.6+

Root: HKCU; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce;
ValueType: string; ValueName: MDAC_Setup; ValueData:
"""{%TEMP}\mdac_typ.exe"" /Q:A /C:""dasetup /Q:D /N"""; MinVersion:
4.0,0; OnlyBelowVersion: 4.1,0; Tasks: MDAC



[Run]

; START MDAC 2.0+ (see also: http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q192009&)

;Filename: {tmp}\mdac_typ.exe; Parameters: "/Q /C:""setup /QNT""";
WorkingDir: {tmp}; Flags: skipifdoesntexist; Tasks: MDAC; MinVersion:
4.1,4.0; OnlyBelowVersion: 0,5.0

; END MDAC 2.0+

; START MDAC 2.6+ (see also:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/mdacsdk/htm/wphistory_redistributemdac.asp)

Filename: {tmp}\mdac_typ.exe; Parameters: "/Q:A /C:""dasetup /Q:D
/N"""; WorkingDir: {tmp}; Flags: skipifdoesntexist; Tasks: MDAC;
MinVersion: 4.1,4.0; OnlyBelowVersion: 0,5.0

; END MDAC 2.6+

DarK Sidious

[Administrateur et responsable VB/API du site ProgOtoP]
3
apaulux Messages postés 73 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 2 octobre 2009
9 janv. 2005 à 14:28
Dans ton Package Decocher la case MDAC_TYP.EXE
[Package|Logiciel d'installation standard 1|Configure Shared Files]
C:\Program Files\Microsoft Visual Studio\VB98\Wizards\PDWizard\Redist\MDAC_TYP.EXE=No
C:\Program Files\Fichiers communs\System\ado\msado20.tlb=No

[mailto:paul.ablasou@wanadoo.fr mailto:paul.ablasou@wanadoo.fr]
3
apaulux Messages postés 73 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 2 octobre 2009
12 janv. 2005 à 13:28
Vous avez inclus
mdac_typ.exe dans votre empaquetage d'installation.
Pour installer correctement ce logiciel sur un système Windows 95/98, DCOM98 doit être installé.

DCOM98 il faut installer avant ton programme d' installation.
[mailto:paul.ablasou@wanadoo.fr mailto:paul.ablasou@wanadoo.fr]
3
Pierre_faucon Messages postés 96 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 22 mai 2007
9 janv. 2005 à 15:22
Bonjour Paul,

Merci pour ce message. Cela étant, je n'utilises pas l'outil de déploiement de Visual Basic 6 mais Inno Setup.

Si j'ai bien compris ta réponse, cela veut dire que je ne dois pas installer mdac_typ.exe sur Win98?

Autre chose, si tu veux bien: Dois-je installer DCom et si oui, comment puis-je faire pour l'installer via mon outil de déploiement?

Merci pour les conseils et le temps consacré...

Bon dimanche.

Pierre
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
9 janv. 2005 à 15:52
Bien au contraire : il faut installer mdac_typ sous Windows 98 ! Car celui-ci n'est pas installé par défaut !

DarK Sidious

[Administrateur et responsable VB/API du site ProgOtoP]
0
Pierre_faucon Messages postés 96 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 22 mai 2007
12 janv. 2005 à 12:33
Hum... Après de multiples tentatives, je reviens à nouveau au forum pour tenter de comprendre... et surtout d'avance...

En suivant les infos, j'ai pu installer mdac via Inno Setup, mais mon appli plante dès que j'utilise un data component ( uniquement sur Win98, sur XP, tout fonctionne bien... ).

J'ai alors tenté un déploiement avec l'outil de déploiement de VB6, mais sans succès, car il me pose problème avec msvcrt.dll qui demande tout le temps un redémarrage...

Bref, je nage dans un jus de plus en plus épais, et mon délai pour déployer l'appli sous Win98 devient critique...

Jusqu'à présent, aucune trouvaille sur le net ne me permet d'installer un prog VB6 utilisant un fichier MDB sur Win98. Serais-je le seul qui tente de faire cela?

Bref, si vous avez une idée, avec Inno Setup ou avec l'outil de déploiement, je suis preneur.

Et si quelqu'un, en Belgique, a fait cela et qu'il est d'accord de me le montrer, éventuellement moyennant rétribution, je suis preneur et peux me déplacer jusque chez lui pour COMPRENDRE, car j'ai l'impression de devenir gaga...

Merci et bonne journée
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
12 janv. 2005 à 12:56
Si, j'ai réussi à faire un déploiement d'une application utilisant un mdb sous Windows 98 : un viewer d'API !



Ca me paraît vraiment bizarre que ca ne marche pas, tu peux me montrer le contenu de ton script inno pour que je vois ?

DarK Sidious

[Administrateur et responsable VB/API du site ProgOtoP]
0
Pierre_faucon Messages postés 96 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 22 mai 2007
12 janv. 2005 à 13:07
Bonjour, et merci :
Voilà :
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!


[Setup]
AppName=pfi Stock
AppVerName=pfi Stock Beta
AppPublisher=PFI Informatique
AppPublisherURL=http://www.pfi.be
AppSupportURL=http://www.pfi.be
AppUpdatesURL=http://www.pfi.be
DefaultDirName={pf}\pfi Stock
DefaultGroupName=pfi Stock
LicenseFile=C:\données\Tests VB6\Stock\Setup\Licence.txt
InfoBeforeFile=C:\données\Tests VB6\Stock\Setup\AvantInstal.txt
InfoAfterFile=C:\données\Tests VB6\Stock\Setup\ApresInstal.txt
Compression=lzma
SolidCompression=yes


[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
Name: MDAC; Description: Microsoft Data Access Components; Flags: checkedonce restart; MinVersion: 4.0,4.0; OnlyBelowVersion: 0,5.0


[Files]
Source: C:\données\Tests VB6\Déploiement\mdac_typ.exe; DestDir: {%TEMP}; MinVersion: 4.0,0; OnlyBelowVersion: 4.1,0; Tasks: MDAC; Flags: ignoreversion
Source: C:\données\Tests VB6\Déploiement\mdac_typ.exe; DestDir: {tmp}; MinVersion: 4.1,4.0; OnlyBelowVersion: 0,5.0; Tasks: MDAC; Flags: ignoreversion


Source: C:\données\Tests VB6\Stock\pfi_Stock.exe; DestDir: {app}; Flags: ignoreversion
Source: C:\données\Tests VB6\Stock\stock.mdb; DestDir: {app}; Flags: onlyifdoesntexist
Source: C:\données\Tests VB6\Stock\Package\Support\stdole2.tlb; DestDir: {sys}; Flags: restartreplace uninsneveruninstall sharedfile regtypelib
source: C:\données\Tests VB6\Stock\Package\Support\msado27.tlb; DestDir: {sys}; Flags: restartreplace uninsneveruninstall sharedfile regtypelib


source: C:\données\Tests VB6\Stock\Package\Support\mscomctl.ocx; DestDir: {sys}; Flags: restartreplace sharedfile regserver
source: C:\données\Tests VB6\Stock\Package\Support\msdatgrd.ocx; DestDir: {sys}; Flags: restartreplace sharedfile regserver
source: C:\données\Tests VB6\Stock\Package\Support\msdatlst.ocx; DestDir: {sys}; Flags: restartreplace sharedfile regserver
source: C:\données\Tests VB6\Stock\Package\Support\msmask32.ocx; DestDir: {sys}; Flags: restartreplace sharedfile regserver
Source: C:\données\Tests VB6\Stock\Package\Support\asycfilt.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall sharedfile
Source: C:\données\Tests VB6\Stock\Package\Support\comcat.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall sharedfile regserver
source: C:\données\Tests VB6\Stock\Package\Support\datgdfr.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall sharedfile
source: C:\données\Tests VB6\Stock\Package\Support\datlsfr.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall sharedfile
source: C:\données\Tests VB6\Stock\Package\Support\fm20.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall sharedfile
source: C:\données\Tests VB6\Stock\Package\Support\msbind.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall sharedfile
source: C:\données\Tests VB6\Stock\Package\Support\mscmcfr.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall sharedfile
source: C:\données\Tests VB6\Stock\Package\Support\msderun.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall sharedfile
source: C:\données\Tests VB6\Stock\Package\Support\msmskfr.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall sharedfile
source: C:\données\Tests VB6\Stock\Package\Support\msstdfmt.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall sharedfile
Source: C:\données\Tests VB6\Stock\Package\Support\msvbvm60.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall sharedfile regserver
source: C:\données\Tests VB6\Stock\Package\Support\msvcrt.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall sharedfile
Source: C:\données\Tests VB6\Stock\Package\Support\oleaut32.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall sharedfile regserver
Source: C:\données\Tests VB6\Stock\Package\Support\olepro32.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall sharedfile regserver
source: C:\données\Tests VB6\Stock\Package\Support\scrrnfr.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall sharedfile
source: C:\données\Tests VB6\Stock\Package\Support\scrrun.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall sharedfile
source: C:\données\Tests VB6\Stock\Package\Support\stdftfr.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall sharedfile
source: C:\données\Tests VB6\Stock\Package\Support\vb6fr.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall sharedfile
source: C:\données\Tests VB6\Stock\Package\Support\vb6stkit.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall sharedfile


[INI]
Filename: {app}\pfi_Stock.url; Section: InternetShortcut; Key: URL; String: http://www.pfi.be


[Icons]
Name: {group}\pfi Stock; Filename: {app}\pfi_Stock.exe
Name: {group}\{cm:ProgramOnTheWeb,pfi Stock}; Filename: {app}\pfi_Stock.url
Name: {group}\{cm:UninstallProgram,pfi Stock}; Filename: {uninstallexe}
Name: {userdesktop}\pfi Stock; Filename: {app}\pfi_Stock.exe; Tasks: desktopicon
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\pfi Stock; Filename: {app}\pfi_Stock.exe; Tasks: quicklaunchicon


[Registry]
;MDAC 2.0+
Root: HKCU; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce; ValueType: string; ValueName: MDAC_Setup; ValueData: """{%TEMP}\mdac_typ.exe"" /Q /C:""setup /QT"""; MinVersion: 4.0,0; OnlyBelowVersion: 4.1,0; Tasks: MDAC
;MDAC 2.6+
Root: HKCU; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce; ValueType: string; ValueName: MDAC_Setup; ValueData: """{%TEMP}\mdac_typ.exe"" /Q:A /C:""dasetup /Q:D /N"""; MinVersion: 4.0,0; OnlyBelowVersion: 4.1,0; Tasks: MDAC


[Run]
; START MDAC 2.0+ (see also: http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q192009&)
Filename: {tmp}\mdac_typ.exe; Parameters: "/Q /C:""setup /QNT"""; WorkingDir: {tmp}; Flags: skipifdoesntexist; Tasks: MDAC; MinVersion: 4.1,4.0; OnlyBelowVersion: 0,5.0
; END MDAC 2.0+
; START MDAC 2.6+ (see also: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/mdacsdk/htm/wphistory_redistributemdac.asp)
Filename: {tmp}\mdac_typ.exe; Parameters: "/Q:A /C:""dasetup /Q:D /N"""; WorkingDir: {tmp}; Flags: skipifdoesntexist; Tasks: MDAC; MinVersion: 4.1,4.0; OnlyBelowVersion: 0,5.0
; END MDAC 2.6+


Filename: {app}\pfi_Stock.exe; Description: {cm:LaunchProgram,pfi Stock}; Flags: nowait postinstall skipifsilent


[UninstallDelete]
Type: files; Name: {app}\pfi_Stock.url

Merci pour le temps que tu passes là-dessus

Pierre
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
12 janv. 2005 à 13:23
Je ne sais pas si ca vient de là, mais dans le code que je t'avais passé, il y avais des commentaires pour la version MDAC 2.0+, cela vient peut-être de là : si tu essaye d'enregistrer la version 2.0 et 2.6, il y a peut-être incompatibilité entre les 2 !

DarK Sidious

[Administrateur et responsable VB/API du site ProgOtoP]
0
apaulux Messages postés 73 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 2 octobre 2009
12 janv. 2005 à 13:28
Vous avez inclus
mdac_typ.exe dans votre empaquetage d'installation.
Pour installer correctement ce logiciel sur un système Windows 95/98, DCOM98 doit être installé.

DCOM98 il faut installer avant ton programme d' installation.
[mailto:paul.ablasou@wanadoo.fr mailto:paul.ablasou@wanadoo.fr]
0
Pierre_faucon Messages postés 96 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 22 mai 2007
12 janv. 2005 à 14:07
Bonjour Paul,

Merci pour ton intervention. J'ai d'ailleurs compris ce que tu voulais dire avec le fait de décocher MDAC ( shared files )...

Est-ce à dire que je dois désinstaller l'appli, MDAC et DCOM puis installer DCOM, puis MDAC puis l'appli.

si oui, puis-je installer dcom avec mon utilitaire de déploiement?

Pour installer DCOM, dois-je utiliser des paramètres ou bien dcom.exe suffit-il?

Voilà, malheureusement, encore quelques questions...

Merci à toi pour tes réponses passées, et merci aussi si tu sais encore m'accompagner pour la fin de mon "calvaire"...

Pierre
0
apaulux Messages postés 73 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 2 octobre 2009
12 janv. 2005 à 15:15
pour ton déploiement sous win98 si tu es en region parisienne contacte moi nous pourron le fair ensemble tel 06 8528 2048

[mailto:paul.ablasou@wanadoo.fr mailto:paul.ablasou@wanadoo.fr]
0
Pierre_faucon Messages postés 96 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 22 mai 2007
12 janv. 2005 à 15:26
Re...

Avec votre aide, je suis arrivé à faire fonctionner l'application.

Ce qui posait problème, c'est l'objet DataEnvironnement qui cause une erreur 713.

Pas de problèmes, je peux m'en passer pour gérer les données. Mais, lorsque j'utilise un objet DataReport, je le base sur le DataEnvironnement et donc, replantage.

En ayant recompilé le tout avec l'outil de déploiement, je n'ai pas vu qu'il ajoutait de fichiers dll ou ocx ou autres...

Dois-je ajouter quelque chose pour que mon dataenvironnment fonctionne?

Sinon, un tout grand énorme merci pour votre aide... J'ai progressé... Ne reste plus que ce petit problème de report et j'y serai...

Pierre
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
12 janv. 2005 à 15:40
Logiquement tu ne devrais pas avoir de dépendance avec tes états si tu
les intègre à ton projet, mais je n'en ai jamais fais, donc ca reste à
confirmer !



Si tu gère les états dans la base directement, là ca pose problème : il
faut qu'Access soit installé sur le poste client si tu utilise un objet
d'application access (par exemple pour imprimer tes états).

DarK Sidious

[Administrateur et responsable VB/API du site ProgOtoP]
0
apaulux Messages postés 73 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 2 octobre 2009
12 janv. 2005 à 15:50
c'est l'objet DataEnvironnement qui cause une erreur 713.

If Err <> 0 Then MsgBox Error$: Err.Clear
l' erreur en texte serai plus clair pour corriger l'erreur

[mailto:paul.ablasou@wanadoo.fr mailto:paul.ablasou@wanadoo.fr]
0
Pierre_faucon Messages postés 96 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 22 mai 2007
12 janv. 2005 à 17:11
Grand merci à vous deux...

Grâce à vous, je suis enfin arrivé à tout ce que je voulais.

L'appli fonctionne sur Win98 avec les reports.

N'ayant pas trouvé la manière d'utiliser DataEnvironnment sans plantage, j'ai connecté mon report sur un objet adodb.recordset,et là, miracle, tout fonctionne bien...

Je chercherai l'erreur et la solution, que je publierai sur le forum, mais là, je vais vérifier l'appli complète sur Win98 et l'installer chez le client...

Je ne sais pas où vous habitez, mais si ce n'était pas trop loin, je vous apporterais le champagne....

Mille merci

Pierre Fauconnier
0
Pierre_faucon Messages postés 96 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 22 mai 2007
12 janv. 2005 à 17:12
Grand merci à vous deux...

Grâce à vous, je suis enfin arrivé à tout ce que je voulais.

L'appli fonctionne sur Win98 avec les reports.

N'ayant pas trouvé la manière d'utiliser DataEnvironnment sans plantage, j'ai connecté mon report sur un objet adodb.recordset,et là, miracle, tout fonctionne bien...

Je chercherai l'erreur et la solution, que je publierai sur le forum, mais là, je vais vérifier l'appli complète sur Win98 et l'installer chez le client...

Je ne sais pas où vous habitez, mais si ce n'était pas trop loin, je vous apporterais le champagne....

Mille merci

Pierre Fauconnier
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
12 janv. 2005 à 17:19
Dommage que tu sois loin de bordeaux, je n'aurait pas dis non pour le champagne ;)


DarK Sidious

[Administrateur et responsable VB/API du site ProgOtoP]
0
Pierre_faucon Messages postés 96 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 22 mai 2007
12 janv. 2005 à 17:45
Re-bonsoir Paul...

J'ai parlé un tout petit peu trop vite. En effet, sous Windows98, le datareport ne fonctionne pas non plus...
Il me met la même erreur. LE problème, c'est que l'erreur n'est pas récupérable et donc, la gestion des erreurs via On Error Goto ne fonctionne pas. Le logiciel plante avant, dès l'appel ou l'initialisation du rapport...

Comme ce n'est plus vraiment le sujet du fil de discussion, je vais clôturer ici en acceptant vos réponses et relancer un fil de discussion spécifique sur ce problème de Data Report...

Merci mille fois à tous les deux pour votre aide tenace et efficace...

Pierre
0
Rejoignez-nous