Ziel: Office Vorlagen in die jeweiligen Ordner bei den Usern ausrollen
Idee:
- Vorlagen auf dem Tauschlaufwerk, (\\file.server.de\tausch\__Vorlagen\)
- durch ein Paket auf allen Clients in das Zielverzeichnis kopieren lassen %APPDATA%\Microsoft\Templates\
Situation:
- die Copy & Xcopy Befehle kann ich über CMD und eine BATCH erfolgreich ausführen.
- händisch kann ich es erfolgreich kopieren
- über CMD wird es erfolgreich kopiert
- über BAT wird es erfolgreich kopiert
Situation über Setup.inf via Empirum Package Editor:
- COPY Befehl, wird nicht erfolgreich ausgeführt
- xcopy Befehl, wird nicht erfolgreich ausgeführt
- BAT, wird nicht erfolgreich ausgeführt
Nach Prüfung im Forum, ist die einzige "Lösung" den Befehl "CallRunAs" auszuführen. Ist das soweit korrekt?
Folgende Situation:
Ich will bestimmte Vorlagen von einem Netzwerk Ordner auf den Everyone zugriff hat, auf das jeweilige Userverzeichnis kopieren:
%APPDATA%\Microsoft\Templates\DOCX\
%APPDATA%\Microsoft\Templates\DOTM\
C:\USERS\%Username%\Documents\Benutzerdefinierte Office-Vorlagen\DOTX\
Die Setup.inf
Code: Select all
[SetupInfo]
Author = %%%%%%% Name %%%%%%%
CreationDate = 01.05.2022
InventoryID =
Description = Microsoft Office Vorlagen
Method = other
Tested on = Win 10
Dependencies =
Command line options = /S2 /AW
Last Change = 10.05.2022
Build =
;[VarDefInfo]
; <Variable>, <Type: 0=Computer 1=User>, <Allow NULL values: 0=No 1=Yes>
[Setup]
Version=15.0
ShowCaption=1
BlockInput=0
Platform=*
[Requirements]
[Application]
ProductName=Office Vorlagen
DeveloperName=%%%%%%% Firmenname entfernt %%%%%%%
Version=1
Revision=0
SetupName=%ProductName% %Version% %SetupWizard%
Text1=%%%%%%% Colorschemate entfernt %%%%%%%
Text2=%%%%%%% Colorschemate entfernt %%%%%%%
Text8=%%%%%%% Colorschemate entfernt %%%%%%%
Text9=%%%%%%% Colorschemate entfernt %%%%%%%
BackgroundColor=%%%%%%% Colorschemate entfernt %%%%%%%
CopyDialogRect=0%, 77%, 100%, 100%, HCENTER
;Register all installations in common registry key
UserKeyName=%DeveloperName%\%ProductName%
MachineKeyName=%DeveloperName%\%ProductName%\%Version%
UninstallKeyName=%DeveloperName% %ProductName% %Version%
UninstallDisplayName=%ProductName% %Version%
UninstallString=%ReinstallString% /U
ReinstallString="%CommonSetupDir%\Setup.exe" "%App%\%SetupInfDir%\Setup.inf"
UninstallDisplayIcon="%ApplicationDir%\%SetupInfDir%\setup.ico",0
;UninstallOptions=NOREMOVE NOREPAIR NOMODIFY
ReinstallMode=1
HideUninstall=0
SrcDir=..
ApplicationDir=%ProgramFilesDir%\Empirum\%Developername%\%ProductName%\%Version%
SetupInfDir=Install
DataDir=%Personal%
AskUninstallOld=0
ShellLinks=1
CommonShellLinks=1
CreateUnresolvableShellLinks=1
UseStringSection=Strings:09
UseSysStringSection=SysStrings:09
DateWarning=1
SizeWarning=0
Reboot=2
PreventExternalReboot=1
StartServicesOnReboot=0
CallTimeOut=3600
AbortAfterCallTimeOut=1
DisableCancelButton=1
ShowEndMessage=1
EndMessage=%EndMessageDesc%
[Strings:07]
Disk1=Installationsmedium 1
EndMessageDesc=Die Installation wurde erfolgreich abgeschlossen!
ErrorLogMessage=Die Installation/Deinstallation wurde mit einer Fehlermeldung abgebrochen!
InstallationFor=Installation für:
InstallerDesc=Dienstprogramm zum Installieren einzelner Komponenten.
InstallerName=Installationsprogramm
SetupWizard=Installations-Assistent
Uninstallation=deinstallieren
[Strings:09]
Disk1=Installation media 1
EndMessageDesc=Installation was completed successfully!
ErrorLogMessage=The installation/uninstallation aborted with an error message!
InstallationFor=Installation for:
InstallerDesc=Service program to install single components.
InstallerName=Setup program
SetupWizard=Installation Wizard
Uninstallation=Uninstallation
[SysStrings:07]
Users=Benutzer
[SysStrings:09]
Users=Users
[Environment]
ReInstSuccessMessage1031=Die Konfiguration wurde erfolgreich abgeschlossen.
ReInstSuccessMessage1031_1=Die Konfiguration wurde abgeschlossen.
ReInstSuccessMessage1033=Configuration completed successfully.
ReInstSuccessMessage1033_1=Configuration completed.
MSILogFile=%Temp%\MSI_%ProductName%.%Version%.%Revision%.log
CommonSetupDir=%CommonFilesDir%\Setup%SetupBits%
Uninstallkey=NOERPEL_OFFICE_VORLAGEN
V_MachineValuesPath=\\%EmpirumServer%\Values$\MachineValues\%DomainName%
V_UserValuesPath=%HKLM,"Software\matrix42\Software Depot","HomeServer"%\Values$\UserValues\%UserDomain%
RegUninstallKey=HKLM,Software\Microsoft\Windows\CurrentVersion\Uninstall\%Uninstallkey%,UnInstallString
DetectedDisplayVersion=%%HKLM,Software\Microsoft\Windows\CurrentVersion\Uninstall\%Uninstallkey%,DisplayVersion%%
; Maschinenabhängige Variablen
; machine dependent variables
;VM_<Variable>=%%%V_MachineValuesPath%\%ComputerName%.ini,%ComputerName%,<Variable>%%
; Userabhängige Variablen
; user dependent variables
;VU_<Variable>=%%%V_UserValuesPath%\%WindowsUser%.ini,%WindowsUser%,<Variable>%%
; !!! Setzen der entsprechenden ReplaceEnv Befehle für die Variablen im Abschnitt [Product] nicht vergessen!!!
; !!! Don't forget to set the appropriate ReplaceEnv instructions for the variables in the section [Product]!!!
[Encryption]
[Disks]
1=%Disk1%
[Options]
Installer = %InstallerName%, COPYALWAYS, Installer, "%InstallerDesc%"
Product = %ProductName%, COPYALWAYS, Product, "%ProductDesc%"
[Installer]
1:..\..\..\..\User\Setup.exe, %CommonSetupDir%, OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP, 0
1:..\..\..\..\User\SetupDeu.chm, %CommonSetupDir%, OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP, 0
1:..\..\..\..\User\SetupEnu.chm, %CommonSetupDir%, OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP, 0
1:%SetupInfDir%\Setup.inf, , NORMAL, 0
;1:%SetupInfDir%\setup.ico, , NORMAL, 0
1:%Temp%\Setup64.exe, %CommonSetupDir%\Setup.exe, OPTIONAL NOSIZEWARNING SETUP ALWAYS WINDOWS64, 0
[FileCheckMachine]
ReplaceEnv V_MachineValuesPath
If DoesFileExist ("%V_MachineValuesPath%\%ComputerName%.ini") == "0" Then "FileIsntThere" EndIf
[FileCheckClient]
ReplaceEnv V_UserValuesPath
If "%UserDomain%" <> "%ComputerName%" Then "CheckClientFile" EndIf
[CheckClientFile]
If DoesFileExist ("%V_UserValuesPath%\%WindowsUser%.ini") == "0" Then "FileIsntThere" EndIf
[FileIsntThere]
ErrorLogMsg Values$\MachineValues\%DomainName%\%ComputerName%.ini or Values$\UserValues\%UserDomain%\%WindowsUser%.ini not found!
Abort
[Product]
#Set:Product, DONTDELETE
#Set:Copy_files, CLIENT
#Set:Installation, CLIENT
#Set:Installation2, DONTDELETE MACHINE
#Reg:Product
#Ini:Product
[Set:Product]
AddMeter -1
[Set:Copy_files]
mkdir "%APPDATA%\Microsoft\Templates\"
mkdir "%APPDATA%\Microsoft\Templates\test2"
[Set:Installation]
Call cmd.exe /c "%Src%\copy.bat"
-Sleep 30000
[Set:Installation2]
Call cmd.exe /c "%Src%\copy.bat"
-Sleep 30000
[AbortUser]
ErrorLogMsg "Fehler bei Kopiervorgang"
Abort
[AbortMSIUnInst]
-Abort
-ErrorLogMsg %ErrorLogMessage% ErrorLevel: %ErrorLevel%
[SET:ChangeMSISourcelist]
ReplaceRegValue (HKCR,"Installer\Products\%V_MSIInstallerID%\Sourcelist","LastUsedSource","\\%EmpirumServer%","\\%%EmpirumServer%%", 1)
ReplaceRegValue (HKCR,"Installer\Products\%V_MSIInstallerID%\Sourcelist\Net","1","\\%EmpirumServer%","\\%%EmpirumServer%%", 1)
[Ini:Product]
[Security:Product]
[Shell:Product]
[Set:DeInstallationError]
-Abort
-ErrorLogMsg %ErrorText% %ErrorLevel% %CallingText%
[Reg:Product]
HKLM,"SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Office_Vorlagen","Systemcomponent",0x00010001,"0x00000001"
HKCU,"SOFTWARE\Microsoft\Office\15.0\Word\Options","officestartdefaulttab",0x00010001,"0x00000001"
HKCU,"SOFTWARE\Microsoft\Office\16.0\Word\Options","officestartdefaulttab",0x00010001,"0x00000001"
[Ini:Product]
Die Batch copy.bat:
Code: Select all
md "%APPDATA%\Microsoft\Templates\DOCX\"
md "C:\Users\%Username%\Documents\Benutzerdefinierte Office-Vorlagen\DOTX\"
md "%APPDATA%\Microsoft\Templates\test1\"
xCopy "\\file.server.de\tausch\__Vorlagen\DOCX\*.*" "%APPDATA%\Microsoft\Templates\DOCX\" /Y
xCopy "\\file.server.de\tausch\__Vorlagen\DOTX\*.*" "C:\Users\%Username%\Documents\Benutzerdefinierte Office-Vorlagen\DOTX\" /Y
xCopy "\\file.server.de\tausch\__Vorlagen\DOTM\*.*" "%APPDATA%\Microsoft\Templates\DOTM\" /Y
Aktueller Stand:
- erstellen des "test2" Ordner via setup.inf funktioniert
- erstellen des "test1" Ordner via batch außerhalt der setup.inf funktioniert
- erstellen des "test1" Ordners via batch in der setup.inf funktioniert nicht (in der bat)
- User hat Zugriff auf den Pfad: \\file.server.de\tausch\__Vorlagen\*.*
- *Update* Muss vermutlich CallRunAs nutzen, werde dies testen
Alternative Beiträge mit ähnlichem Problem:
*** Thema %Appdata% oder %Username% ***
viewtopic.php?f=84&t=13839&p=55567&hilit=copy#p55567
viewtopic.php?f=84&t=19937&p=71017&hilit=copy#p71017
viewtopic.php?f=88&t=20486&p=72909&hilit=copy#p72909
*** Thema BAT Dateien und Rechte ***
viewtopic.php?f=84&t=20188&p=71857&hilit=batch#p71857
viewtopic.php?f=84&t=12228&p=49146&hilit=batch#p49146
viewtopic.php?f=84&t=18662&p=66194&hilit=batch#p66194