Fixing Isssues with install apps

This commit is contained in:
2023-11-13 11:45:44 +01:00
parent abf0a5913f
commit 48091d5596
4 changed files with 38 additions and 64 deletions

View File

@@ -7,18 +7,6 @@ function InstallMsi {
Start-Process -FilePath "msiexec.exe" -ArgumentList "/i `"$msiFilePath`" /qn" -Wait
}
function InstallZipMsi {
param (
[string] $zip,
[string] $msi
)
$zipName = [System.IO.Path]::GetFileNameWithoutExtension($zip)
Write-Host "Installing $zipName..."
Expand-Archive -Path (Join-Path $tmpPath $zip) -DestinationPath (Join-Path $tmpPath $zipName) -Force
$msiFilePath = Join-Path -Path $tmpPath -ChildPath $msi
Start-Process -FilePath "msiexec.exe" -ArgumentList "/i `"$msiFilePath`" /qn" -Wait
}
function InstallExeSetup {
param (
[string] $app
@@ -48,20 +36,30 @@ function InstallZipSetup {
)
$zipName = [System.IO.Path]::GetFileNameWithoutExtension($zip)
Write-Host "Installing $zipName..."
Expand-Archive -Path (Join-Path $tmpPath $zip) -DestinationPath $tmpPath -Force
Start-Process -FilePath $(Join-Path -Path $tmpPath -ChildPath (Join-Path -Path $zipName -ChildPath $exe)) -ArgumentList "/allusers /s" -Wait
$expPath = Join-Path $tmpPath $zipName
Expand-Archive -Path (Join-Path $tmpPath $zip) -DestinationPath $expPath -Force
Start-Process -FilePath $(Join-Path -Path $expPath -ChildPath (Join-Path -Path $zipName -ChildPath $exe)) -ArgumentList "/allusers /s" -Wait
}
function InstallZip {
param (
[string] $zip,
[string] $exe,
[string] $app
[string] $app,
[bool] $createSubfolder = $false
)
$zipName = [System.IO.Path]::GetFileNameWithoutExtension($zip)
Write-Host "Installing $zipName..."
Expand-Archive -Path (Join-Path $tmpPath $zip) -DestinationPath $env:ProgramFiles -Force
if (-not $zipName.Equals($app)) {
$targetPath = $env:ProgramFiles
if ($createSubfolder) {
$subFolder = Join-Path $env:ProgramFiles $zipName
if (-not (Test-Path -Path $subFolder -PathType Container)) {
New-Item -Path $subFolder -ItemType Directory
}
$targetPath = $subFolder
}
Expand-Archive -Path (Join-Path $tmpPath $zip) -DestinationPath $targetPath -Force
if (-not $zipName.Equals($app) -and (-not (Test-Path -Path (Join-Path $targetPath $app) -PathType Container))) {
Move-Item -Path (Join-Path $env:ProgramFiles $zipName) -Destination (Join-Path $env:ProgramFiles $app)
}
CreateShortcut -exe $(Join-Path -Path $env:ProgramFiles -ChildPath (Join-Path -Path $app -ChildPath $exe)) -app $app
@@ -107,14 +105,14 @@ function InstallApps {
InstallZip -zip "Tectoglob_11_complet.zip" -exe "TectoGlob.exe" -app "TectoGlob"
InstallExe -app "Respipoisson.exe"
InstallMsi -app "regressi-mpeg-setup.msi"
InstallZip -zip "regavi.zip" -exe "regavi.exe" -app "Regavi"
InstallZip -zip "regavi.zip" -exe "regavi.exe" -app "Regavi" -createSubfolder $true
InstallExe -app "Radiochr.exe"
InstallZip -zip "Phylogene-Lycee-2021.zip" -exe "Programmes\Phylo.exe" -app "Phylogene"
InstallZip -zip "paleoterre_el32.zip" -exe "paleoTerre.exe" -app "PaleoTerre"
InstallExeSetup -app "Eduanat2_Setup_2.0.0.exe"
InstallZip -zip "couvac_exe.zip" -exe "couvac.exe" -app "Couvac"
InstallZip -zip "couvac_exe.zip" -exe "couvac.exe" -app "Couvac" -createSubfolder $true
InstallZipSetup -zip "ACDLabs202311_ChemSketch_FInstall.zip" -exe "setup.exe"
InstallZipMsi -zip "Anagene.zip" -msi "Anagène 2.msi"
InstallZipSetup -zip "Anagene.zip" -exe "Anagene/Setup.exe"
}
"Info" {
InstallZip -zip "simulation.zip" -exe "simulation.exe" -app "Simulation Domotique"

View File

@@ -4,7 +4,8 @@ function InstallChoco {
function ChocoInstallApps {
param (
[string] $Type
[string] $Type,
[string] $Apps
)
switch ($Type) {
@@ -20,7 +21,7 @@ function ChocoInstallApps {
choco install audacity -y
choco install avogadro -y
choco install arduino -y --install-arguments="/allusers" --force
}
}
"Info" {
choco install dotnet -y
choco install vcredist-all -y
@@ -35,14 +36,19 @@ function ChocoInstallApps {
choco install mblock -y
choco install arduino -y --install-arguments="/allusers"
choco install ganttproject -y
}
}
"Laptop" {
choco install dotnet -y
choco install vcredist-all -y
choco install firefox -y
choco install 7zip -y
choco install vlc -y
}
}
"Custom" {
foreach ($app in $Apps) {
choco install $app -y
}
}
default { Write-Host "Invalid selection." }
}
}

View File

@@ -19,9 +19,9 @@ function CheckOfficeInstall {
Write-Host "Microsoft Office is not installed."
InstallOffice
}
Write-Host "Activating Windows and Office..."
$status = CheckActivation
if ($status -eq $false) {
Write-Host "Activating Windows and Office..."
ActivateWindowsOffice
}
Write-Host "Windows and Office activation complete!"

View File

@@ -9,7 +9,7 @@ function Import-ScriptsFromUrls {
foreach ($url in $ScriptUrls) {
$fileName = Split-Path -Leaf $url
$localFile = Join-Path -Path $LocalPath -ChildPath $fileName
Write-Host "Downloading script from $url to $localFile"
Write-Host "Downloading script $fileName to $localFile"
Invoke-WebRequest -Uri $url -OutFile $localFile -UseBasicParsing
Write-Host "Importing script from $localFile"
$scripts += $localFile
@@ -54,42 +54,31 @@ function Setup {
}
function Custom {
# ask user if they need to download files
$input = Read-Host "Do you need to download files? (y/n)"
if ($input -eq "y") {
$DownloadFiles = @()
do {
$input = Read-Host "Enter the URL of the file you want to download (leave empty to stop)"
if ($input -ne "") {
$DownloadFiles += $input
}
} while ($input -ne "")
}
# ask user if they need to install office
$input = Read-Host "Do you need to install Office? (y/n)"
if ($input -eq "y") {
$Office = $true
}
# ask user if they need to setup users
$input = Read-Host "Do you need to setup users? (y/n)"
if ($input -eq "y") {
$Users = $true
# ask user if they need to setup eleve registry
$input = Read-Host "Do you need to setup eleve registry? (y/n)"
if ($input -eq "y") {
$EleveReg = $true
}
}
# ask user if they need to enable RDP
$input = Read-Host "Do you need to enable RDP? (y/n)"
if ($input -eq "y") {
$RDP = $true
}
# ask user if they need to install chocolatey
$input = Read-Host "Do you need to install chocolatey? (y/n)"
if ($input -eq "y") {
$Choco = $true
# ask user if they need to install chocolatey apps
$input = Read-Host "Do you need to install chocolatey apps? (y/n)"
if ($input -eq "y") {
$ChocoApps = @()
@@ -101,41 +90,25 @@ function Custom {
} while ($input -ne "")
}
}
# ask user if they need to install apps
$input = Read-Host "Do you need to install apps? (y/n)"
if ($input -eq "y") {
$Apps = @()
do {
$input = Read-Host "Enter the name of the app you want to install (leave empty to stop)"
if ($input -ne "") {
$Apps += $input
}
} while ($input -ne "")
}
# ask user if they need to update windows
$input = Read-Host "Do you need to update windows? (y/n)"
if ($input -eq "y") {
$Update = $true
}
SetupCustom -DownloadFiles $DownloadFiles -Office $Office -Users $Users -EleveReg $EleveReg -RDP $RDP -Choco $Choco -ChocoApps $ChocoApps -Apps $Apps -Update $Update
SetupCustom -Office $Office -Users $Users -EleveReg $EleveReg -RDP $RDP -Choco $Choco -ChocoApps $ChocoApps -Update $Update
}
function SetupCustom {
param (
[array] $DownloadFiles,
[bool] $Office,
[bool] $Users,
[bool] $EleveReg,
[bool] $RDP,
[bool] $Choco,
[array] $ChocoApps,
[array] $Apps,
[bool] $Update
)
Write-Host "Performing Custom Installation..."
if ($DownloadFiles) {
DownloadFiles -Type "Custom" -Files $DownloadFiles
}
if ($Office) {
CheckOfficeInstall
}
@@ -154,9 +127,6 @@ function SetupCustom {
ChocoInstallApps -Type "Custom" -Apps $ChocoApps
}
}
if ($Apps) {
InstallApps -Type "Custom" -Apps $Apps
}
if ($Update) {
UpdateWindows
}