Page 1 sur 1

[..] Problème avec EnvSet()

Posté : ven. 04 mai 2012 18:58
par ethneldryt
Voila, grâce aux variable d’environnement, j'ai réussi a me créer plusieurs applications portable.
Mais malheureusement je bloque sur quelque chose.

Je fais donc EnvSet("localappdata",@scriptdir & "\local") et je devrais tomber sur "C:\Users\Acer\AppData\Local"
Ça ne fonctionne pas pour toute les applications, donc je vous demande, est ce la bonne variable a mettre ou il y en a une autre? Merci.

ps : j'essai de faire une version portable de join.me

Re: [..] Problème avec EnvSet()

Posté : ven. 04 mai 2012 22:00
par Tlem
ImageImage

Hey man,elle doit vraiment être bonne pour que vous soyez dans cet état !!! :lol:
Dés que la fumée sera dissipée de votre esprit, lisez ce qui suit :

EnvSet écrit une variable d'environnement. C'est à dire que c'est vous qui déterminez la valeur de cette variable au moment ou vous lancez la commande.
Lorsque vous faites:

Code : Tout sélectionner

EnvSet("localappdata",@scriptdir & "\local")
vous dites à Windows que la variable d'environnement %localappdata% sera égale à @scriptdir & "\local". Et comme @scriptdir dépend de l'endroit ou ce trouve le script, ce ne sera pas forcément "C:\Users\Acer\AppData\Local". ^^

Re: [..] Problème avec EnvSet()

Posté : ven. 04 mai 2012 22:36
par ethneldryt
oula, je viens de re lire, j'ai mal expliquer mon problème.
je veux dire que la var %localappdata% ne fonctionne pas toujours même en la déclarant.

Re: [..] Problème avec EnvSet()

Posté : ven. 04 mai 2012 23:31
par Tlem
Probablement dût à un compte limité ou à l'UAC, ou plus probablement à ceci :
Remarks
A environment variable set in this way will only be accessible to programs that AutoIt spawns (Run, RunWait). Once AutoIt closes, the variables will cease to exist.

Re: [..] Problème avec EnvSet()

Posté : sam. 05 mai 2012 00:19
par lesolutionneur
C'est comme ça partout, sauf si tu fais une variable persistante.

Par exemple, pour la ligne de commande, tu peux définir une variable mais seuls les programmes lancés avec pourront accéder à sa valeur.

Re: [..] Problème avec EnvSet()

Posté : sam. 05 mai 2012 22:22
par jguinch
Bonsoir.
Es-tu sûr que le join.me fait bien référence à la variable LOCALAPPDATA ?

J'ai effectué le petit test suivant, depuis une fenêtre DOS :
set HOMEDRIVE=c:\temp\homedrive
set HOMEPATH=c:\temp\homepath
set LOCALAPPDATA=c:\temp\localappdata
set TMP=c:\temp\tmp
set TEMP=c:\temp\temp
set USERPROFILE=c:\temp\userprofile
join.me.exe

Une fois le programme lancé, les fichiers se retrouvent dans c:\temp\tmp, doncà priori ce serait plutôt la variable TMP qui est utilisée par join.me.

Avec ProcessMonitor, aucun autre chemin défini ci-dessus n'est accédé.

Code : Tout sélectionner

EnvSet("TMP", @ScriptDir)
Run("join.me.exe")
Ca a l'air de fonctionner...