Page 1 of 1

Temp Variable ändern

Posted: 27. Jun 2011, 13:48
by fdooo
Hallo

Ich möchte per Paket den TEMP Pfad auf C:\Temp umlegen.
Wenn ich mit dem Set Befehl arbeite passiert nichts.
Arbeite ich mit einer Batch Datei in der eine Pause eingebaut ist sehe ich das der Temp Pfad wie gewünscht auf C:\Temp verweist.
Lasse ich das Paket aus welchem ich die Batch aufgerufen habe zuende laufen ist Temp wie verstellt auf den Standard Pfad.
Wie kann ich das lösen?

Re: Temp Variable ändern

Posted: 27. Jun 2011, 22:38
by Hendrik_Ambrosius
SET ändert nur Variablen innerhalb des Scripts.
Um Windows Umgebungsvariable zu ändern nutzen Sie die autoexec.bat-Sektion:

[Product]
#autoexec.bat:product

[autoexec.bat:product]
set temp=c:\temp

Re: Temp Variable ändern

Posted: 28. Jun 2011, 08:17
by fdooo
Ja das dachte ich auch.

In meinem Paket wird auch die Path Erweiterung durchgeführt. Aber der Temp Pfad bleibt auf Standard.

#Set:Product
#Autoexec.bat:Product
#Reg:OnUninstallProduct, DELETE
#Set:User, Client
#Reg:Product
#Ini:Product
#Security:Product
#Shell:Product
#ODBC System DSN:SHKMIS
#ODBC System DSN:Assist4
#ODBC System DSN:AXPHS1
#ODBC System DSN:AXPROD
#ODBC System DSN:AXTEDU1
#ODBC System DSN:NYCEBS
#ODBC System DSN:NYCEKI
#ODBC System DSN:NYCEKIEL
#ODBC System DSN:ODS01
#ODBC System DSN:PCLAWINE
#ODBC System DSN:SHKDWS


[Set:Product]
MD "c:\Temp"

;Redmon Installation
call "%SRC%\Redmon32\setup.exe" /q

;Ghostscript installation
cd ..
cd gs
Call "setupgs.exe" "%ProgramFilesDir%\GhostScript"

;RPT Port Konfiguration
net stop spooler
sleep 2000
;Richtet den RPT1: Port ein und konfiguriert ihn
#REG:RPT1

;Richtet den GSC1: Port ein und konfiguriert ihn
#REG:GSC1
net start spooler
sleep 5000

;Installiert den PDFDrucker auf RPT1: Port mit PS Treiber
call rundll32 printui.dll,PrintUIEntry /ia /m "PS Driver for Universal Print" /f "%SRC%\Druckertreiber\ricsetup.inf"
AddPrinter ("","PDFDrucker","RPT1:","PS Driver for Universal Print")
AddPrinter ("","GhostScriptPDF","GSC1:","PS Driver for Universal Print")

;Installiert diverse Netzwerkdrucker (wegen Treiber)
call rundll32 printui.dll,PrintUIEntry /in /n \\shkdruck\shkedvdrucker11
call rundll32 printui.dll,PrintUIEntry /in /n \\shkdruck\shkedvdrucker6
call rundll32 printui.dll,PrintUIEntry /in /n \\shkdruck\shkedvdrucker5_duplex"
call rundll32 printui.dll,PrintUIEntry /in /n \\shkdruck\shkedvdrucker15
call rundll32 printui.dll,PrintUIEntry /in /n \\shkdruck\impfibudrucker18

net stop spooler
sleep 2000
net start spooler
sleep 5000

;OCX Registrierung
1:Windows\System\RichEdit98XControl1.ocx, %System%, SHAREDDLL, 476160
1:Windows\System\StringGrid.ocx, %System%, SHAREDDLL, 459264
1:Windows\System\ttf16.ocx, %System%, SHAREDDLL, 1146880
1:Windows\System\TTFI6.ocx, %System%, SHAREDDLL, 1400832
1:Windows\System\umsgrid.ocx, %System%, SHAREDDLL, 423936
1:Windows\System\VCF15.OCX, %System%, SHAREDDLL, 982016
callhidden regsvr32 "%System%\ttf16.ocx" /s
callhidden regsvr32 "%System%\RichEdit98XControl1.ocx" /s

;.NET 1.1 Installation
;Oracle Installation
;NetOP Anpassung
;PRT Screen Installation und Anpassung
;VNC Installation
;7Zip Installtion
;Acrobat Reader Installation

[Autoexec.bat:Product]
Set TEMP=c:\Temp
Set TMP=c:\Temp
Set path=%Path%;M:\Batch;M:\tools

Was läuft da falsch?

Re: Temp Variable ändern

Posted: 28. Jun 2011, 10:00
by fdooo
Es hat sich geklärt.
Die oben gennante Lösung greift für die Systemvariablen.
In meinem Fall ging es aber um die Benutzervariablen.
Gelöst durch einen Registry Eintrag.
HKCU,"","TEMP",0x00020000,"C:\Temp"
HKCU,"","TMP",0x00020000,"C:\Temp"

Kleiner Nachtrag:
Es hat nicht geklappt.
Wenn ich auf der Machine Set eingebe kommt wieder der Standard Pfad.

Ich bin mit meinem Latain am Ende.

Re: Temp Variable ändern

Posted: 27. Jul 2012, 16:50
by Trauberl
Ja, wie gesagt. Bezieht sich nur auf das Script. Lies mal ein wenig weiter oben. Mit deinen Registryeinträgen und dem Tipp von Hendrick sollte es hinhauen.