Programme automatisch installieren nach Installation
- Holgi
- Guru
- Beiträge: 3269
- Registriert: 12.05.2018, 12:33
- Hat sich bedankt: 421 Mal
- Danke erhalten: 560 Mal
- Gender:
Re: Programme automatisch installieren nach Installation
kaum hatte ich geschrieben:
"die Installation erfolgt über Winget mit --configure und einer angepassten Configuration.xml (ProPlus2024Volume.xml). Das funktioniert nur, wenn eine Internetverbindung während der Installation vorhanden ist, da die .xml auf einem eigenen FTP-Server liegt (müßte auch mit einer Fritz.Box gehen)."
dachte ich: warum eigentlich die Configuration.xml von extern beziehen? Zur Not muss die ebenfalls mit Echo Befehlen erstellt werden. > funktioniert!
der Winget Befehl sieht dann etwas anders aus, da die ProPlus2024VL.xml unter C:\Windows\Setup\Scripts erstellt wird:
Die configuration.xml muss schon vorhanden sein, wenn winget das Office mit dieser installieren soll. Also wird sie unter "settings pass="specialize" erstellt:
in Verbindung mit:
der Rest kann so bleiben.
"die Installation erfolgt über Winget mit --configure und einer angepassten Configuration.xml (ProPlus2024Volume.xml). Das funktioniert nur, wenn eine Internetverbindung während der Installation vorhanden ist, da die .xml auf einem eigenen FTP-Server liegt (müßte auch mit einer Fritz.Box gehen)."
dachte ich: warum eigentlich die Configuration.xml von extern beziehen? Zur Not muss die ebenfalls mit Echo Befehlen erstellt werden. > funktioniert!
der Winget Befehl sieht dann etwas anders aus, da die ProPlus2024VL.xml unter C:\Windows\Setup\Scripts erstellt wird:
Code: Alles auswählen
<SynchronousCommand wcm:action="add">
<Order>12</Order>
<Description>Office</Description>
<CommandLine>cmd /c winget install --id "Microsoft.Office" --override "/configure C:\Windows\Setup\Scripts\ProPlus2024VL.xml"</CommandLine>
</SynchronousCommand>
Code: Alles auswählen
<settings pass="specialize">
<component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
<RunSynchronous>
<RunSynchronousCommand wcm:action="add">
<Order>91</Order>
<Path>powershell.exe -NoProfile -Command "$xml = [xml]::new(); $xml.Load('C:\Windows\Panther\unattend.xml'); $sb = [scriptblock]::Create( $xml.unattend.Extensions.ExtractScript ); Invoke-Command -ScriptBlock $sb -ArgumentList $xml;"</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>92</Order>
<Path>powershell.exe -NoProfile -Command "Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\Specialize.ps1' -Raw | Invoke-Expression;"</Path>
</RunSynchronousCommand>
</RunSynchronous>
</component>
Code: Alles auswählen
<File path="C:\Windows\Setup\Scripts\unattend-01.cmd" transformation="Text">
@Echo off
(
ECHO ^<Configuration^>
ECHO ^<Add OfficeClientEdition="64" Channel="PerpetualVL2024" AllowCdnFallback="TRUE"^>
ECHO ^<Product ID="ProPlus2024Volume" PIDKEY="XJ2XN-FW8RK-P4HMP-DKDBV-GCVGB"^>
ECHO ^<Language ID="de-de" /^>
ECHO ^<ExcludeApp ID="Access" /^>
ECHO ^<ExcludeApp ID="Lync" /^>
ECHO ^<ExcludeApp ID="OneDrive" /^>
ECHO ^<ExcludeApp ID="OneNote" /^>
ECHO ^<ExcludeApp ID="Outlook" /^>
ECHO ^<ExcludeApp ID="SHARED" /^>
ECHO ^<ExcludeApp ID="Publisher" /^>
ECHO ^</Product^>
ECHO ^</Add^>
ECHO ^<Property Name="SharedComputerLicensing" Value="0" /^>
ECHO ^<Property Name="FORCEAPPSHUTDOWN" Value="FALSE" /^>
ECHO ^<Property Name="DeviceBasedLicensing" Value="0" /^>
ECHO ^<Property Name="SCLCacheOverride" Value="0" /^>
ECHO ^<Property Name="AUTOACTIVATE" Value="1" /^>
ECHO ^<Updates Enabled="TRUE" /^>
ECHO ^<RemoveMSI /^>
ECHO ^<Display Level="None" AcceptEULA="TRUE" /^>
ECHO ^</Configuration^>
) > "C:\Windows\Setup\Scripts\ProPlus2024VL.xml"
</File>
<File path="C:\Windows\Setup\Scripts\Specialize.ps1" transformation="Text">
$scripts = @(
{
net.exe accounts /maxpwage:UNLIMITED;
};
{
C:\Windows\Setup\Scripts\unattend-01.cmd;
};
);
& {
[float] $complete = 0;
[float] $increment = 100 / $scripts.Count;
foreach( $script in $scripts ) {
Write-Progress -Activity 'Running scripts to customize your Windows installation. Do not close this window.' -PercentComplete $complete;
& $script;
$complete += $increment;
}
} *>&1 >> "C:\Windows\Setup\Scripts\Specialize.log";
</File>
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114
- Holgi
- Guru
- Beiträge: 3269
- Registriert: 12.05.2018, 12:33
- Hat sich bedankt: 421 Mal
- Danke erhalten: 560 Mal
- Gender:
Re: Programme automatisch installieren nach Installation
ich hatte hier:
viewtopic.php?t=30594&start=465#p435127
schon mal geschrieben, wie man einen Desktop Arrow Shortcut (Verknüpfungspfeil) los wird.
Das geht zwar grds. sehr gut mit dem Tool von WINAERO:
https://winaero.com/how-to-remove-short ... indows-11/
aber da ist man auf ein externes Icon-Symbol (blank.ico) angewiesen und Windows-eigene-Lösungen (Boardmittel) sind mir da immer lieber.
Jetzt ist mir ein dem blank.ico ebenbürtiger durchsichtiger Verknüpfungspfeil unter Windows aufgefallen. Der steckt hier:
"C:\Program Files\WindowsApps\MicrosoftWindows.Client.WebExperience_524.34401.20.0_x64__cw5n1h2txyewy\Dashboard\WebContent\wwwroot\favicon.ico"
Dumm nur, das die Versionsnummer (524.34401.20.0) sich irgendwann mal ändern wird. Also flugs ein Script geschrieben, welches die aktuelle Versionsnummer ausliest und dann den Registry-Eintrag entsprechend anpasst.
So kann man dieses Script gut mit in die autounattend.xml stecken.
arrow_remover (neu).cmd
Anmerkung:
der Teil von kann ggf. weggelassen werden. Da geht es nur um Administratorrechte.
Viel Spaß!
viewtopic.php?t=30594&start=465#p435127
schon mal geschrieben, wie man einen Desktop Arrow Shortcut (Verknüpfungspfeil) los wird.
Das geht zwar grds. sehr gut mit dem Tool von WINAERO:
https://winaero.com/how-to-remove-short ... indows-11/
aber da ist man auf ein externes Icon-Symbol (blank.ico) angewiesen und Windows-eigene-Lösungen (Boardmittel) sind mir da immer lieber.
Jetzt ist mir ein dem blank.ico ebenbürtiger durchsichtiger Verknüpfungspfeil unter Windows aufgefallen. Der steckt hier:
"C:\Program Files\WindowsApps\MicrosoftWindows.Client.WebExperience_524.34401.20.0_x64__cw5n1h2txyewy\Dashboard\WebContent\wwwroot\favicon.ico"
Dumm nur, das die Versionsnummer (524.34401.20.0) sich irgendwann mal ändern wird. Also flugs ein Script geschrieben, welches die aktuelle Versionsnummer ausliest und dann den Registry-Eintrag entsprechend anpasst.
So kann man dieses Script gut mit in die autounattend.xml stecken.
arrow_remover (neu).cmd
Code: Alles auswählen
@Echo off
:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
IF "%PROCESSOR_ARCHITECTURE%" EQU "amd64" (
>nul 2>&1 "%SYSTEMROOT%\SysWOW64\cacls.exe" "%SYSTEMROOT%\SysWOW64\config\system"
) ELSE (
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
)
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params= %*
echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params:"=""%", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs" 1>nul 2>nul
exit /B
:gotAdmin
pushd "%CD%"
CD /D "%~dp0"
@echo off
setlocal enabledelayedexpansion
REM Pfad zur WindowsApps mit MicrosoftWindows.Client.WebExperience
set "basePath=C:\Program Files\WindowsApps"
set "searchFolder=MicrosoftWindows.Client.WebExperience_*"
set "targetPath=C:\Windows\System32"
set "iconFileName=favicon.ico"
REM Suche nach dem neuesten Ordner
for /d %%D in ("%basePath%\%searchFolder%") do (
set "currentFolder=%%D"
)
REM Überprüfen, ob ein Ordner gefunden wurde
if not defined currentFolder (
echo Kein passender Ordner gefunden. Abbruch.
exit /b 1
)
REM Vollständigen Pfad zur Favicon-Datei
set "sourceIconPath=%currentFolder%\Dashboard\WebContent\wwwroot\%iconFileName%"
REM Überprüfen, ob die Datei existiert
if not exist "%sourceIconPath%" (
echo Favicon.ico nicht gefunden unter "%sourceIconPath%". Abbruch.
exit /b 1
)
REM Kopiere Favicon.ico nach C:\Windows\System32
copy /Y "%sourceIconPath%" "%targetPath%\%iconFileName%"
if %errorlevel% neq 0 (
echo Fehler beim Kopieren der Datei nach "%targetPath%".
exit /b 1
)
REM Registry-Schlüssel aktualisieren
set "finalIconPath=%targetPath%\%iconFileName%"
set "escapedPath=%finalIconPath:\=\\%"
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons" /v "29" /t REG_SZ /d "\"%escapedPath%\"" /f
REM Erfolgsmeldung
if %errorlevel% equ 0 (
echo Registry erfolgreich aktualisiert mit "%escapedPath%".
echo Bitte starten Sie den Explorer neu oder melden Sie sich ab/an, um die Änderungen zu übernehmen.
) else (
echo Fehler beim Aktualisieren der Registry.
)
endlocal
taskkill /IM explorer.exe /F > NUL 2>&1 && start explorer > NUL 2>&1
der Teil von
Code: Alles auswählen
:: BatchGotAdmin bis :gotAdmin
Viel Spaß!
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114
- Holgi
- Guru
- Beiträge: 3269
- Registriert: 12.05.2018, 12:33
- Hat sich bedankt: 421 Mal
- Danke erhalten: 560 Mal
- Gender:
Re: Programme automatisch installieren nach Installation
hier mal wieder etwas NEUES zum Thema blank.ico (desktop shortcut arrow remover).
das nachfolgende Script erstellt das blank.ico einfach selbst!
Viel Spaß!! 
das nachfolgende Script erstellt das blank.ico einfach selbst!
Code: Alles auswählen
@echo off
> blank.b64 echo AAABAAEAEBAAAAAAIABLAAAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAQAAAA
>> blank.b64 echo EAgGAAAAH/P/YQAAABJJREFUeJxjYBgFo2AUjAIIAAAEEAABVTda0AAAAABJ
>> blank.b64 echo RU5ErkJggg==
certutil -decode blank.b64 C:\Windows\blank.ico
del blank.b64
echo blank.ico erstellt!
REM --- Registry-Key erstellen ---
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons" /v 29 /t REG_EXPAND_SZ /d C:\Windows\blank.ico /f
echo Registry-Eintrag erstellt!
REM --- Windows Explorer Neustart ---
cmd /c taskkill /f /im explorer.exe >nul 2>&1 & start explorer.exe >nul 2>&1
exit

PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114