Winst copy Befehl "program files" Problem

Antworten
Benutzeravatar
Sven.Beierlein
Beiträge: 36
Registriert: 01 Okt 2008, 16:20

Winst copy Befehl "program files" Problem

Beitrag von Sven.Beierlein »

Hallo,

hat jemand eine idee wie man mit winst eine datei in c:\program files kopieren kann?

wenn ich folgendes eingebe:

Code: Alles auswählen

copy "%scriptpath%\files\*.*" "c:\program files\test"
dann kopiert er mit nichts :(
Lumo
Beiträge: 1
Registriert: 14 Nov 2008, 16:40

Re: Winst copy Befehl "program files" Problem

Beitrag von Lumo »

Hi

Der Copy Befehl muss in der Files-Sektion sein

Beispiel:

Code: Alles auswählen

[Initial]
Message "Outlook Signatur einrichten"
LogLevel=2
StayOnTop=true

[Aktionen]
DefVar $sigpath$
Set $sigpath$ = "%AppdataDir%\Microsoft\Signatures\"
ShowBitmap /3 "%SCRIPTPATH%\outlook.bmp" "Outlook Signatur"
Files_copy
WinBatch_registersig

[Files_copy]
copy %scriptpath%\defaultsig.* $sigpath$

[WinBatch_registersig]
regedit /s %scriptpath%\signatur_registry.reg
Blos tritt hier bei mir der Fehler auf, dass %AppdataDir% den Wert "-!!- not found -!!-" enthält. Also die Dateien werden praktisch in C:\-!!- not found -!!-\Microsoft\Signatures\ kopiert, wohin sie natürlich nicht wirklich gehören.
Weiß da vielleicht jemand weiter wo mein Fehler liegt?

Vielen Dank
Benutzeravatar
d.oertel
uib-Team
Beiträge: 3327
Registriert: 04 Jun 2008, 14:27

Re: Winst copy Befehl "program files" Problem

Beitrag von d.oertel »

Hallo,

%AppdataDir%
ist laut Winst-Handbuch z.B.
C:\Dokumente und Einstellungen\%USERNAME%\Anwendungsdaten
wobei %USERNAME% durch den aktuellen user ersetzt wird.
Im opsi Kontext wird ein Winstscript aber von einem Service ohne User ausgeführt
- daher der Fehler.
Wo soll die Datei nun hin?
<Glaskugelmodus>
In alle user-Profilverzeichnisse ?
</Glaskugelmodus>
Wenn ja:
Mal sowas probieren:

Code: Alles auswählen

[Aktionen]
DefVar $sigpath$
Set $sigpath$ = "Microsoft\Signatures\"
Files_copy  /AllNtUserProfiles

[Files_copy]
copy "%scriptpath%\defaultsig.*" "%UserProfileDir%\Anwendungsdaten\$sigpath$"

Siehe Winst-Handbuch Kapitel 7.1 (besonders 7.1.2).

Hilft das ?

gruss
detlef oertel


Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.

Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.

uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de


Benutzeravatar
Sven.Beierlein
Beiträge: 36
Registriert: 01 Okt 2008, 16:20

Re: Winst copy Befehl "program files" Problem

Beitrag von Sven.Beierlein »

Mein Problem war eigentlich dass ich Dateien in Verzeichnisse kopieren möchte, welche ein Leerzeichen in der Namensgebung beeinhalten.
So wie eben bei einer englischen Version von Windows der "Program Files"-Ordner unter C:\
Das gelingt jedoch nicht, da er dann immer einen Fehler bringt wo er nach "Program" abbricht und der copy-Befehl ja eigentlich weitergeht.

Code: Alles auswählen


[Initial]
; Message at install time:
Message=Kopiere programmbeispiel Setup Files...
LogLevel=2
;  Log Errors in Logfile but don't abort:
ExitOnError=false
; Show syntax errors in the script:
ScriptErrorMessages=on
; Dont trace step by step through the script:
TraceMode=off
; let started programs run in front of the winst window
StayOnTop=false
 
[Aktionen]
DefVar $TEMP$ 
Set $TEMP$ = EnvVar("TEMP")
;Variables for OS version 
DefVar $OS$
set $OS$ = GetOS

; is this a win32 system ?
if ( $OS$ = "Windows_NT" OR $OS$ = "Windows_95" )
  if not(HasMinimumSpace ("%SYSTEMDRIVE%", "10 MB"))
    LogError "Nicht gengend Platz auf C: . 10 MB auf C: fuer programmbeispiel erforderlich."
    isFatalError
    ; Bearbeitung beenden und Produktschalter auf failed setzen
  else
    ; show product picture
    ShowBitmap /3 "%scriptpath%\kmw_opsi.bmp" "programmbeispiel"
  
    ; start setup program   
   
   sub_install_programmbeispiel
  
  endif
endif

[sub_install_common-cfg]
files_copy_winXP
Registry_runOnce

[files_copy_winXP]
copy "%scriptpath%\files\*.*" "c:\program files\programmbeispiel\setup\files"

[Registry_runOnce]
openkey [HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce]
set "opsi_autologon_setup"="c:\program files\programmbeispiel\setup\files\setup.bat"
Antworten