Page 2 sur 3

Publié : jeu. 01/févr./2007 12:08
par Backup
pour m'amuser j'ai fait un désinstallateur de Dreamotion3D

probleme , j'ai voulu utiliser ton installateur pour installer
la lib, mais comme mon désinstallateur a parfaitement fonctionné
Ton installateur n'a pas trouvé "d3dx9d.lib", qui doit lui servir pour
le logo , je présume !! :D

moralité ! quelqu'un qui n'as jamais eu Dreamotion3D d'installé
NE PEUX PAS UTILISER ton installateur, c'est ballot hein ? :lol: :lol:


ps : si comme je le pense tu utilise le moteur3D pour afficher le logo bien joli
faut changer de methode, un installateur ne doit jamais faire appel au ressources du programme qu'il installe !!!

transforme l'animation du logo en Gif animé si tu veut ! ....



voici le code du désinstallateur !


; Désinstallateur du moteur Dreamotion3D
; Codé par Dobro

Declare.s GetPB_DirectoryInstallation()

dir$= GetPB_DirectoryInstallation()
librairie$=dir$+ "PureLibraries\Windows\Libraries\"
dll$= "C:\WINDOWS\system32\"


; efface les Dll du dossier "C:\WINDOWS\system32\"
If DeleteFile (dll$+ "d3dx9_30.dll" )
Else
     MessageRequester ( "erreur" , "pas pu effacer d3dx9_30.dll" , #PB_MessageRequester_Ok )
EndIf
If DeleteFile (dll$+ "d3dx9d_30.dll" )
Else
     MessageRequester ( "erreur" , "pas pu effacer d3dx9d_30.dll" , #PB_MessageRequester_Ok )
EndIf
; efface les librairies du dossier du purebasic
If DeleteFile (librairie$+ "d3d9.lib" )
Else
     MessageRequester ( "erreur" , "pas pu effacer d3d9.lib" , #PB_MessageRequester_Ok )
EndIf
If DeleteFile (librairie$+ "d3dx9.lib" )
Else
     MessageRequester ( "erreur" , "pas pu effacer d3dx9.lib" , #PB_MessageRequester_Ok )
EndIf
If DeleteFile (librairie$+ "d3dx9d.lib" )
Else
     MessageRequester ( "erreur" , "pas pu effacer d3dx9d.lib" , #PB_MessageRequester_Ok )
EndIf
If DeleteFile (librairie$+ "Dreamotion3D.lib" )
Else
     MessageRequester ( "erreur" , "pas pu effacer Dreamotion3D.lib" , #PB_MessageRequester_Ok )
EndIf

MessageRequester ( "OK !" , "Dreamotion3D est désinstallé" , #PB_MessageRequester_Ok )
End




Procedure.s GetPB_DirectoryInstallation()
  Buffer$ = Space (10000) : BufferSize = Len (Buffer$) - 1
   ; Windows NT/XP
   If GetVersion_ () & $FF0000
     If RegOpenKeyEx_ ( #HKEY_CLASSES_ROOT , "Applications\PureBasic.exe\shell\open\command" , 0, #KEY_ALL_ACCESS , @key) = #ERROR_SUCCESS
       If RegQueryValueEx_ (key, "" , 0, @type, @Buffer$, @BufferSize) = #ERROR_SUCCESS
        OutputDirectory$ = GetPathPart ( Mid (Buffer$, 2, Len (Buffer$) - 7))
       EndIf
     EndIf
   Else ; The same for Win9x
     If RegOpenKeyEx_ ( #HKEY_LOCAL_MACHINE , "Software\Classes\PureBasic.exe\shell\open\command" , 0, #KEY_ALL_ACCESS , @key) = #ERROR_SUCCESS
       If RegQueryValueEx_ (key, "" , 0, @type, @Buffer$, @BufferSize) = #ERROR_SUCCESS
        OutputDirectory$ = GetPathPart ( Mid (Buffer$, 2, Len (Buffer$) - 7))
       EndIf
     EndIf
   EndIf
   ProcedureReturn OutputDirectory$
EndProcedure




Publié : jeu. 01/févr./2007 12:52
par tmyke
Excelent ton code, il serait peut-etre intéressant de le joindre au pack
pour ceux qui voudrais purger les éléments de DM3D.

Pour le Package d'installation, tu as raison, il ne faut jamais employer
les ressources de ce que l'on installe dans le pgm d'installation, mais
j'avais envie comme l'on dis.
En fait, il s'agit d'une de mees étourderies légendaires, que j'ai corrigé
maintenant, il ne devrais plus y avoir de soucis...

Merci en tous les cas d'avoir mis le doigt dessus :)

Publié : jeu. 01/févr./2007 13:46
par Backup
tmyke a écrit :Excelent ton code, il serait peut-etre intéressant de le joindre au pack
pour ceux qui voudrais purger les éléments de DM3D.
aucun problemes pour ça ! au contraire :D

tous les codes que je postes ici sont libres de droits :D

Publié : jeu. 01/févr./2007 18:58
par Patrick88
tous les exemples fonctionnent

little map générator ne marche toujours pas
update de pb en version 4.02

erreur en ligne 242...

je sais po...

pat

Publié : jeu. 01/févr./2007 19:19
par tmyke
Je suis très embété, car je ne vois pas pourquoi cela ne tourne pas. :?

J'ai repris sur une de mes machines de test, avec une vénérable 9700pro
et une install de PB4.02 toutes simple, cela fonctionne normalement.

je comprend pas...

:?

Publié : jeu. 01/févr./2007 19:35
par comtois
ça fonctionne bien chez moi.

[EDIT]
Patrick88 tu as enregistré le code dans le même répertoire que les exemples ou dans un répertoire perso ?

Publié : jeu. 01/févr./2007 19:45
par tmyke
Merci, quelque part cela me ressure, mais je m'interroge toujours pour
toi Patrick88, surtout si tu me dis que les exemples du pack fonctionnent eux
correctement... humm

Publié : jeu. 01/févr./2007 21:08
par Patrick88
ça marche !! sisi (les exemples + little map generator)

j'avais collé les exemples dans un sous-dossier placé dans "examples" de pb

avec le dossier "sampleDM3D" placé juste dans la racine de pb, ça marche

:?: :?: :?: :?:

je pensais qu'il fallait que l'image soit dans le dossier media
mais non, ça plante à cause de l'image...
"Granit vert.bmp" qui est dans "c:\windows" -> plante ligne 242


pat

Publié : ven. 02/févr./2007 8:21
par tmyke
En effet, j'ai essayé avec la meme image, et la cela plante aussi.
I doit y avoir un bug quelque part malgré tout, je vais chercher...

[EDIT] J'ai bien trouvé un bug, dans le moteur lui meme sur le fonction
SetVertex(). C'est corrigé. Merci de ta persévérence Patrick88 :wink:
(update module)

Publié : ven. 02/févr./2007 12:31
par Patrick88
year ! :D

Publié : ven. 02/févr./2007 13:38
par Progi1984
Pas year (traduction en fr : année) mais yeah !

Publié : ven. 02/févr./2007 14:10
par Patrick88
hier... nanère

Publié : ven. 16/mai/2008 10:09
par Octavius
Bonjour,

ce programme est intéressant mais je n'arrive pas à le faire fonctionner chez moi. J'ai téléchargé récemment Dreamotion3D v4.0.4b, or d'après la date ce code correspond la v4.0.0.

Je n'arrive pas à mettre à jour le code pour qu'il fonctionne, pourriez-vous m'aider ?

Publié : lun. 19/mai/2008 20:40
par Octavius
Un peu d'aide s'il vous plaît ?

Publié : lun. 19/mai/2008 22:45
par Backup
Octavius a écrit :Un peu d'aide s'il vous plaît ?
j'avais repondu mais dans le topic reservé a Dreamotion3D :)

revoici le nouveau désinstaleur de Dreamotion 3D




; désinstallateur de Dreamotion3D
; By Dobro


Chemin$ = PathRequester ( "ou est le dossier Purebasic ?? " + Chr (10)+ Chr (13)+ "Entrez dedans !!! " , "c:" )

; efface du dossier compiller
Resultat = DeleteFile (Chemin$+ "Compilers" + "Dreamotion3D.dll" )
Resultat = DeleteFile (Chemin$+ "Compilers" + "d3dx9_30.dll" )
Resultat = DeleteFile (Chemin$+ "Compilers" + "d3dx9d_30.dll" )

; enleve le moteur Physic
Resultat = DeleteFile (Chemin$+ "Compilers" + "NxCharacter.dll" )
Resultat = DeleteFile (Chemin$+ "Compilers" + "NxCooking.dll" )
Resultat = DeleteFile (Chemin$+ "Compilers" + "NxExtensions.dll" )
Resultat = DeleteFile (Chemin$+ "Compilers" + "PhysX.dll" )
Resultat = DeleteFile (Chemin$+ "Compilers" + "PhysXCore.dll" )
Resultat = DeleteFile (Chemin$+ "Compilers" + "PhysXLoader.dll" )

; efface du dossier Windows/System32
Resultat = DeleteFile ( "C:\WINDOWS\system32" + "Dreamotion3D.dll" )
Resultat = DeleteFile ( "C:\WINDOWS\system32" + "d3dx9_30.dll" )
Resultat = DeleteFile ( "C:\WINDOWS\system32" + "d3dx9d_30.dll" )

; au cas ou << : D
Resultat = DeleteFile ( "C:\WINDOWS" + "Dreamotion3D.dll" )
Resultat = DeleteFile ( "C:\WINDOWS" + "d3dx9_30.dll" )
Resultat = DeleteFile ( "C:\WINDOWS" + "d3dx9d_30.dll" )


; efface du dossier lib
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries" + "d3d9.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries" + "d3dx9.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries" + "d3dx9d.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries" + "d3dxof.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries" + "ddraw.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries" + "dinput8.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries" + "dinput.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries" + "Dreamotion3d.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries" + "dinput.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries" + "dsound.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries" + "dxguid.lib" )


; retire la lib du moteur Physic
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries" + "PhysX.lib" )

; efface tout le dossier Dreamotion3D
Resultat = DeleteDirectory (Chemin$+ "Dreamotion3D" , "*.*" , #PB_FileSystem_Recursive|#PB_FileSystem_Force )

; efface tout le dossier Physic
Resultat = DeleteDirectory (Chemin$+ "SamplesPhysX" , "*.*" , #PB_FileSystem_Recursive|#PB_FileSystem_Force )

; efface le Help
Resultat = DeleteFile (Chemin$+ "help" + "Dreamotion3D.chm" )

MessageRequester ( "ok !" , "Désinstallation effectuée" , #PB_MessageRequester_Ok )