OVH Cloud OVH Cloud

encore une question ...

3 réponses
Avatar
christian ROLET
Je sais je suis un vieux penible que voulez vous !!
Existe t il un moyen dans l'assistant empaquetage de=20
cr=E9er une nouvelle macro de mani=E8re =E0 pouvoir placer une=20
base de donn=E9es dans un sous repertoire de "Mes=20
documents" ???

Merci au passage =E0 ceux qui m'ont aide. J'arrive sans=20
probleme maintenant =E0 recuperer en tant que chaine de=20
caracteres le chemin veritable de "Mes docs" sur=20
n'importe quel PC avec les API

Merci encore

christian

3 réponses

Avatar
François Picalausa
Hello,

Les constantes définies sont:
'Setup information file macros
Public Const gstrAPPDEST$ = "$(AppPath)"
Public Const gstrWINDEST$ = "$(WinPath)"
Public Const gstrFONTDEST$ = "$(Font)"
Public Const gstrWINSYSDEST$ = "$(WinSysPath)"
Public Const gstrWINSYSDESTSYSFILE$ = "$(WinSysPathSysFile)"
Public Const gstrPROGRAMFILES$ = "$(ProgramFiles)"
Public Const gstrCOMMONFILES$ = "$(CommonFiles)"
Public Const gstrCOMMONFILESSYS$ = "$(CommonFilesSys)"
Public Const gstrDAODEST$ = "$(MSDAOPath)"

Donc, pas de mes documents. On peux définir une nouvelle constante:
Ouvre le dossier VisualStudioVB98WizardsPDWizardSetup1 et fait une copie
des fichiers (et donc du setup original). Ainsi, en cas de problèmes, tu
pourra revenir en arrière.
Ouvre setup1.vbp
Dans basCommon, trouve la ligne
'Setup information file macros
et ajoute la constante suivant:
Public Const gstrMYDOCS$ = "$(MyDocs)"
Dans basSetup1, ajoutons une fonction permettant de retrouver le dossier:
Public Function strGetMyDocsPath() As String

End Function

Je te laisse écrire le contenu de cette procédure, en suivant les
indications de la FAQ:
http://faq.vb.free.fr/index.php?question`
Tu pourrais aussi récupérer le chemin dans le registre, si tu préfère suivre
le modèle présent des autres fonctions, comme strGetProgramsFilesPath

Ensuite, toujours dans basSetup1, il faut trouver la fonction ResolveDestDir
Dans le Select Case UCase$(Left$(strDestDir, intPos))
Nous ajouterons un case:
Case UCase$(gstrMYDOCS)
strResolved = strGetMyDocsPath
fRecognizedBySetupExe = True

Il te suffira ensuite d'utiliser $(MyDocs)SubFolder pour utiliser un sous
dossier.

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"christian ROLET" a écrit dans le
message de news:92cb01c4789c$261554e0$
Je sais je suis un vieux penible que voulez vous !!
Existe t il un moyen dans l'assistant empaquetage de
créer une nouvelle macro de manière à pouvoir placer une
base de données dans un sous repertoire de "Mes
documents" ???


Avatar
Chjristian ROLET
Merci de ton aide François.

J'ai mis un peu de temps pour faire les modifs ...
J'ai recompilé et obtenu un nouveau SETUP1.EXE mais cela
ne fonctionne toujours pas ! je n'obtiens pas la macro
$(Mydocs) dans l'assistant au moment de l'empaquetage.
J'ai du encore me louper quelque part.
-----Message d'origine-----
Hello,

Les constantes définies sont:
'Setup information file macros
Public Const gstrAPPDEST$ = "$(AppPath)"
Public Const gstrWINDEST$ = "$(WinPath)"
Public Const gstrFONTDEST$ = "$(Font)"
Public Const gstrWINSYSDEST$ = "$(WinSysPath)"
Public Const gstrWINSYSDESTSYSFILE$


= "$(WinSysPathSysFile)"
Public Const gstrPROGRAMFILES$ = "$(ProgramFiles)"
Public Const gstrCOMMONFILES$ = "$(CommonFiles)"
Public Const gstrCOMMONFILESSYS$ = "$(CommonFilesSys)"
Public Const gstrDAODEST$ = "$(MSDAOPath)"

Donc, pas de mes documents. On peux définir une nouvelle


constante:
Ouvre le dossier VisualStudioVB98


WizardsPDWizardSetup1 et fait une copie
des fichiers (et donc du setup original). Ainsi, en cas


de problèmes, tu
pourra revenir en arrière.
Ouvre setup1.vbp
Dans basCommon, trouve la ligne
'Setup information file macros
et ajoute la constante suivant:
Public Const gstrMYDOCS$ = "$(MyDocs)"
Dans basSetup1, ajoutons une fonction permettant de


retrouver le dossier:
Public Function strGetMyDocsPath() As String

End Function

Je te laisse écrire le contenu de cette procédure, en


suivant les
indications de la FAQ:
http://faq.vb.free.fr/index.php?question`
Tu pourrais aussi récupérer le chemin dans le registre,


si tu préfère suivre
le modèle présent des autres fonctions, comme


strGetProgramsFilesPath

Ensuite, toujours dans basSetup1, il faut trouver la


fonction ResolveDestDir
Dans le Select Case UCase$(Left$(strDestDir, intPos))
Nous ajouterons un case:
Case UCase$(gstrMYDOCS)
strResolved = strGetMyDocsPath
fRecognizedBySetupExe = True

Il te suffira ensuite d'utiliser $(MyDocs)SubFolder


pour utiliser un sous
dossier.

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"christian ROLET"


a écrit dans le
message de news:92cb01c4789c$261554e0$
Je sais je suis un vieux penible que voulez vous !!
Existe t il un moyen dans l'assistant empaquetage de
créer une nouvelle macro de manière à pouvoir placer




une
base de données dans un sous repertoire de "Mes
documents" ???




.



Avatar
François Picalausa
Hello,

L'assistant n'affichera pas la macro de lui même. Il faudra écrire à la main
le $(MyDocs)toto

Une autre possibilité est d'employer un installer qui supporte mes documents
comme Visual Studio Installer:
http://msdn.microsoft.com/vstudio/downloads/tools/vsi11/default.aspx

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"Chjristian ROLET" a écrit dans
le message de news:a9f501c4795d$a7f07690$
je n'obtiens pas la macro
$(Mydocs) dans l'assistant au moment de l'empaquetage.