Librairie de fonctions
Introduction
Cette bibliothèque est inclus dans tous les packages via l'importation du fichier WAP.dll.
Cette bibliothèque a été développé en C# via le .NET framework 4.8 pour un maximum de compatibilité.
Version de la bibliothèque : 1.3
Sommaire
Cette bibliothèque contient les fonctions suivantes :
- Add-ActiveSetup
- Clear-DesktopShortcut
- Copy-AppItem
- Variables
- Remove-AppItem
- Set-Registry
- Get-ActiveSessions
- Get-UserProcess
- Show-MessageUI
- Stop-WAPSession
- Test-AppPath
- Show-CloseAppMessage
- Set-DesktopShortcut
- New-Error
- Start-Execution
- Write-Log
- Exit-Process
- Get-UninstallEXE
- Get-UninstallMSI
- Get-UserInfos
- Start-WAPSession
- Expand-Zip
- Release-Notes
Bibliothèque
Add-ActiveSetup
Cette fonction permet de créer une clé registre Active Setup. Utile pour faire du paramétrage de compte utilisateur lorsque celui-ci vient de se connecter pour la première fois sur ce PC. Prévilégier la modification des répertoires utilisateurs et du répertoires par defaut (nouvel utilisateur) avant l'utilisation de cette fonction.
Parametres :
- Name (Obligatoire) : Nom de l'Active Setup, choisir un nom qui parle de lui-même
- Action (Obligatoire) : Chemin du fichier à exécuter lors de la connexion de l'utilisateur. S'executera qu'une seule fois par utilisateur.
Resultat :
Cette fonction ne renvoie aucun résultat.
Exemples :
WAP\Add-ActiveSetup -Name "Config_VLC" -Action "C:\temp\ActiveSetup\VLC\Add_user_config.bat"Clear-DesktopShortcut
Cette fonction permet de supprimer les racourcis bureaux à partir de l'exe cible.
Parametres :
- TargetPath (Obligatoire) : Chemin du fichier .exe cible
Resultat :
Cette fonction ne renvoie aucun résultat.
Exemples :
WAP\Clear-DesktopShortcut -TargetPath "C:\Program Files\Software\Software.exe"Copy-AppItem
Cette fonction copie un fichier ou un dossier dans un autre répertoire.
Parametres :
- Source (Obligatoire) : Chemin du fichier ou dossier source à copier
- Destination (Obligatoire) : Chemin du répertoire dans lequel on souhaite coller le fichier/dossier
Resultat :
Cette fonction ne renvoie aucun résultat.
Exemples :
WAP\Copy-AppItem -Source "$Path\App\Folder" -Destination "C:\Temp"WAP\Copy-AppItem -Source "$Path\App\File.txt -Destination "C:\Temp"WAP\Copy-AppItem -Source "$Path\App\File.txt" -Destination "C:\Temp\NewName.txt"Variables
Listes des variables utilisables.
Exemples :
$PF = "C:\Program Files"$PF86 = "C:\Program Files (x86)"$PD = "C:\ProgramData"$StartMenu = "C:\ProgramData\Microsoft\Windows\Start Menu\Programs"$PublicDesktop = "C:\Users\Public\Desktop"$StartUp = "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup"Remove-AppItem
Cette fonction permet de supprimer des dossiers, des fichiers et des clés registres de manière récursive (ruche Local machine et ruches utilisateurs)
Parametres :
- Path (Obligatoire) : Chemin de la clé registre, du fichier ou dossier à supprimer.
Resultat :
Cette fonction ne renvoie aucun résultat.
Exemples :
WAP\Remove-AppItem -Path "C:\temp\folder\file.dll"WAP\Remove-AppItem -Path "C:\temp\folder"WAP\Remove-AppItem -Path "HKLM:\SOFTWARE\TEST"foreach ($User in (WAP\Get-UserInfos)) {WAP\Remove-AppItem -Path "HKU:\$($User.SID)\Software\TEST"}Set-Registry
Cette fonction permet de créer ou modifier une clé registre, ses propriétés et les valeurs de ses propriétés.
Parametres :
- Path (Obligatoire) : Chemin du registre (clé à créer inclue)
- Property (Optionnel) : Nom de la propriété
- Value (Optionnel) : Valeur de la propriété
- Type (Optionnel) : Type de la valeur (ex : String [REG_SZ], ExpandString [REG_EXPAND_SZ], Binary [REG_BINARY], Dword [REG_DWORD], Qword [REG_QWORD], MultiString [REG_MULTI_SZ])
Resultat :
Cette fonction ne renvoie aucun résultat.
Exemples :
WAP\Set-Registry -Path "HKLM:\SOFTWARE\TEST"WAP\Set-Registry -Path "HKLM:\SOFTWARE\TEST" -Property "phrase" -Value "abc" -Type "String"WAP\Set-Registry -Path "HKLM:\SOFTWARE\TEST3" -Property "phrase_interpretation" -Value "%ProgramFiles%\Software" -Type "ExpandString"WAP\Set-Registry -Path "HKLM:\SOFTWARE\TEST" -Property "binaire" -Value ([byte[]](1,2,3,255)) -Type "binary"WAP\Set-Registry -Path "HKLM:\SOFTWARE\TEST" -Property "entier" -Value "123" -Type "Dword"WAP\Set-Registry -Path "HKLM:\SOFTWARE\TEST" -Property "entierlong" -Value "12345" -Type "qword"WAP\Set-Registry -Path "HKLM:\SOFTWARE\TEST" -Property "phrases multiples" -Value @("Val1", "Val2") -Type "MultiString"foreach ($User in (WAP\Get-UserInfos)) { WAP\Set-Registry -Path "HKU:\$($User.SID)\Software\TEST" -Property "phrase" -Value "abc" -Type "String" }Get-ActiveSessions
Cette fonction liste les utilisateurs connectés sur la machine.
Resultat :
Cette fonction renvoie une liste de sessions sous forme d'une liste de tableaux avec les propriétés suivantes :
-SessionID
-DomaineName
-UserName
-ProfilePath
-SID
Exemples :
WAP\Get-ActiveSessionsGet-UserProcess
Cette fonction permet de vérifier le status des processus dans le contexte utilisateur. Plus particulièrement pour savoir si un processus affiche une fenêtre dans la session utilisateur ou si c'est un démon.
Parametres :
- Name (Obligatoire) : Liste des processus à analyser
Resultat :
Cette fonction renvoie la liste de processus spécifiés en entrée avec leur status sous forme d'une liste de tableau avec les propriétés suivantes:
-ProcessName
-ProcessStatus
Exemples :
WAP\Get-UserProcess -Name @("PowerPoint", "Excel", "Word")Show-MessageUI
Cette fonction permet d'afficher un message à l'utilisateur connecté (à condition qu'un utilisateur soit connecté).
Parametres :
- Config (Obligatoire) : Text de configuration au format XML. Contient tous les textes nécessaire à l'affichage de la fenetre en fonction de la langue de l'utilisateur.
- LogoPath (Obligatoire) : Chemin du logo au format PNG à afficher. Dimensions : 400x400 idéalement
Resultat :
Cette fonction renvoie un code de retour en fonction de la réponse de l'utilisateur :
-Code 0 : User Close Window
-Code 1 : User push Button 1
-Code 2 : User push Button 2
-Code 3 : User push Button 3
-Code 4 : No Answer (Timeout)
-Code 34 : User not logged
-Every other Code : Erreur
Exemples :
$xml = @"
<root>
<TimeOut>20</TimeOut>
<Languages>
<Language id=`"fr`">
<WindowsTitle>Mise à jour logiciel : $SoftwareName</WindowsTitle>
<Title>$SoftwareName</Title>
<SubTitle>Une nouvelle mise à jour est prête à être installée</SubTitle>
<Message>Pour procéder à l'installation, nous vous demandons de fermer les logiciels suivants :$Applist</Message>
<Button1></Button1>
<Button2>Lancer l'installation</Button2>
<Button3>Reporter</Button3>
</Language>
<Language id=`"es`">
<WindowsTitle>Actualización de Software: $SoftwareName</WindowsTitle>
<Title>$SoftwareName</Title>
<SubTitle>Una nueva actualización está lista para ser instalada</SubTitle>
<Message>Para proceder con la instalación, se requiere cerrar las siguientes aplicaciones de software :$Applist</Message>
<Button1></Button1>
<Button2>Iniciar instalación</Button2>
<Button3>Posponer</Button3>
</Language>
<Language id=`"pt`">
<WindowsTitle>Atualização de Software: $SoftwareName</WindowsTitle>
<Title>$SoftwareName</Title>
<SubTitle>Uma nova atualização está pronta para ser instalada</SubTitle>
<Message>Para continuar com a instalação, é necessário fechar os seguintes aplicativos de software:$Applist</Message>
<Button1></Button1>
<Button2>Iniciar Instalação</Button2>
<Button3>Adiantar</Button3>
</Language>
<Language id=`"de`">
<WindowsTitle>Software-Update: $SoftwareName</WindowsTitle>
<Title>$SoftwareName</Title>
<SubTitle>Ein neues Update ist zur Installation bereit</SubTitle>
<Message>Um mit der Installation fortzufahren, müssen Sie die folgenden Softwareanwendungen schließen:$Applist</Message>
<Button1></Button1>
<Button2>Installation starten</Button2>
<Button3>Verschieben</Button3>
</Language>
<Language id=`"default`">
<WindowsTitle>Software Update : $SoftwareName</WindowsTitle>
<Title>$SoftwareName</Title>
<SubTitle>A new update is ready to be installed</SubTitle>
<Message>To proceed with the installation, you are required to close the following software applications :$Applist</Message>
<Button1></Button1>
<Button2>Start Installation</Button2>
<Button3>Postpone</Button3>
</Language>
</Languages>
</root>
"@
WAP\Show-MessageUI -Config $xml -LogoPath "$Path\Logo.png"Stop-WAPSession
Cette fonction doit être éxécutée à la fin de chaque installation ou désinstallation d'un logiciel. Celle-ci permet de calculer le temps d'installation, calculer l'espace disque utilisé par l'installation, nettoyer le dossier temporaire et faire un reset de certaines variables.
Resultat :
Cette fonction ne renvoie aucun résultat.
Exemples :
WAP\Stop-WAPSessionTest-AppPath
Permet de vérifier la présence ou l'absence d'un fichier, d'une clé registre, éventuellement la présence ou non d'une propriété et éventuellemnt de vérifier la valeur de cette propriété.
Parametres :
- Path (Obligatoire) : Chemin du fichier ou clé registre à tester
- PropertyName (Optionnel) : Permet de tester la présence de la propriété d'une clé registre. Pour un fichier, ça n'a de sens que si l'on test la valeur de celle-ci également.
- PropertyValue (Optionnel) : Permet de tester la présence de la propriété mais en plus la valeur de cette propriété. Fontionne pour une clé registre mais également pour un fichier.
- Expected (Optionnel | Valeur par defaut = $true) : Si = $true (le test doit être vrai pour ne pas finir en erreur) / Si = $false (le test doit être faux pour ne pas finir en erreur)
Resultat :
Retourne 'true' si la contidion est validée sinon 'false'
Exemples :
WAP\Test-AppPath -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -PropertyName 'ProductName' -PropertyValue 'Windows 10 Pro' -Expected $trueWAP\Test-AppPath -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -PropertyName 'ProductName' -Expected $trueWAP\Test-AppPath -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Expected $trueWAP\Test-AppPath -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -PropertyName 'ProductName' -PropertyValue 'Windows 10 Pro Does not exist' -Expected $falseWAP\Test-AppPath -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -PropertyName 'ProductNameDoesNotExist' -Expected $falseWAP\Test-AppPath -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersionDoesNotExist' -Expected $falseWAP\Test-AppPath -Path 'C:\Windows\notepad.exe' -PropertyName 'FileVersion' -PropertyValue '10.0.9' -Expected $trueWAP\Test-AppPath -Path 'C:\Windows\notepad.exe' -Expected $trueWAP\Test-AppPath -Path 'C:\Windows\notepad.exe' -PropertyName 'FileVersion' -PropertyValue '10.0.999999' -Expected $falseWAP\Test-AppPath -Path 'C:\Windows\notepaddoesnotexist.exe' -Expected $falseShow-CloseAppMessage
Permet de demander à l'utilisateur de fermer des applications. Ne jamais spécifier des processus executé par le compte System NT.
Parametres :
- ProcessList (Obligatoire) : Listes des processus à fermer (ne pas inclure les démons) - Maximum 7 processus
- ShowIf (Obligatoire) : Afficher le message ou non
Resultat :
Cette fonction ne renvoie aucun résultat.
Exemples :
WAP\Show-CloseAppMessage -ProcessList @("PowerPoint", "Excel", "Word") -ShowIf $CLOSEAPPMESSAGE.IsPresentSet-DesktopShortcut
Cette fonction permet d'ajouter les racourcis bureaux à partir de l'exe cible.
Parametres :
- TargetPath (Obligatoire) : Chemin du fichier .exe cible
Resultat :
Cette fonction ne renvoie aucun résultat.
Exemples :
WAP\Set-DesktopShortcut -TargetPath "C:\Program Files\Software\Software.exe"New-Error
Cette fonction permet de logguer une erreur d'installation et de stopper l'installation si besoin avec un code erreur en sortie.
> Si Severity = 1 + WAP\Start-WAPSession 'INSTALL' >> Exit
> Si Severity = 1 + WAP\Start-WAPSession 'UNINSTALL' >> Exit
> Si Severity = 2 + WAP\Start-WAPSession 'INSTALL' >> Exit
> Si Severity = 2 + WAP\Start-WAPSession 'UNINSTALL' >> Continue
> Si Severity = 3 + WAP\Start-WAPSession 'INSTALL' >> Continu
> Si Severity = 3 + WAP\Start-WAPSession 'UNINSTALL' >> Continue
Parametres :
- Message (Obligatoire) : Détails de l'erreur spécifique
- Code (Optionnel | Valeur par defaut = 500) : Numéro du code erreur à indiquer lors de l'arret de l'éxécutable
- Solution (Optionnel | Valeur par defaut = 'Reboot and try again') : Texte décrivant la solution à suivre pour éviter ce code erreur.
- Severity (Optionnel | Valeur par defaut = 1) : Valeur qui varie entre 1 (Critical), 2 (Moderate) et 3 (Minor).
- Wait (Optionnel | Valeur par defaut = 0) : Temps avant declenchement de l'exit
Resultat :
Cette fonction ne renvoie aucun résultat.
Exemples :
WAP\New-Error -Message "Description de l'erreur" -Code 1500 -Solution "Solutions possibles pour résoudre cette erreur" -Severity 2 -Wait 30WAP\New-Error -Message "Description d'une autre erreur" -Code 1600Start-Execution
Cette fonction permet d'exécuter un .exe ou .msi et de spécifier des arguments d'installation.
Parametres :
- Exe (Obligatoire si Msi=null) : Chemin du fichier executable à lancer
- Msi (Obligatoire si Exe=null) : Chemin du fichier msi à lancer ou du Product Code (GUID) du msi à désinstaller.
- Arg (Optionnel | Valeur par defaut = null) : Paramètrages à spécifier en argument
- NoWait (Optionnel | Valeur par defaut = false) : On utilise ce paramètre pour lancer l'executable sans attendre la fin d'execution de celui-ci (limiter son utilisation)
- Timeout (Optionnel | Valeur par defaut = 120 pour une installation / = 20 pour une désinstallation) : Permet de modifier le Timeout par defaut, c'est le temps en minutes qu'on laisse à l'executable pour s'executer. Au dela, s'il n'est toujours pas terminé, on stop l'installation.
- Detect (Optionnel | Valeur par defaut = null) : Parfois, l'executable principal execute un autre executable et l'executable principale s'arrête. Pourtant, l'installation n'est pas terminée. Une solution consiste à attendre la présence d'un fichier pour détecter la fin de l'installation.
- Wait (Optionnel | Valeur par defaut = 30) : Lors de l'utilisation du paramètre "Detect", une fois le fichier spécifié dans détect trouvé, permet de modifier la durée d'attente (secondes) avant le kill automatique du processus principal s'il est encore en cours d'execution.
- Context (Optionnel | Valeur par defaut = 'CURRENTUSER') : Valeurs aceptées : "CURRENTUSER" ou "LOGGEDUSER" - Permet d'executer le process par defaut dans le contexte System ou bien dans le context utilisateur (celui qui est connecté à la machine). Limiter au maximum l'execution dans le contexte utilisateur.
- WorkingDirectory (Optionnel | Valeur par defaut = 'Exe directory location') : Uniquement pour un exe, pas pour les msi - Permet de définir un répertoire de travail différent de l'executable
Resultat :
Cette fonction renvoie -1 si une erreur apparait pendant l'execution de cette fonction, sinon elle renvoie le code retour de l'exe.
Exemples :
$ExitCode = WAP\Start-Execution -Exe "C:\temp\file-version1.1.exe" -Arg "/S"$ExitCode = WAP\Start-Execution -Exe "C:\temp\file*.exe" -Arg "/S"$ExitCode = WAP\Start-Execution -Msi "C:\temp\file*.msi" -Arg "/AllUSERS=1"$ExitCode = WAP\Start-Execution -Msi "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}" # Contexte de désinstallation uniquement$ExitCode = WAP\Start-Execution -Exe "C:\temp\file-version1.1.exe" -Arg "/S" -NoWait$ExitCode = WAP\Start-Execution -Exe "C:\temp\file-version1.1.exe" -Arg "/S" -Timeout 45$ExitCode = WAP\Start-Execution -Exe "C:\temp\file-version1.1.exe" -Arg "/S" -Detect "C:\Program Files\Software\soft.exe" -Wait 60$ExitCode = WAP\Start-Execution -Exe "C:\Program Files\Software\soft.exe" -NoWait -Context "LOGGEDUSER"Write-Log
Cette fonction permet de générer du log disponibles dans le répertoire : "C:\ProgramData\WinAppack\Logs". Chaque package génére sont propre fichier de log. Il est possible d'utiliser cette fonctione à la sortie d'un pipeline.
Parametres :
- Message (Obligatoire) : Texte à logger
- Color (Optionnel | Valeur par defaut = 'White') : Nom de couleur souhaité (utile uniquement en mode console)
- Date (Optionnel | Valeur par defaut = $true) : Permet d'ajouter ou supprimer la date en début de ligne (purement esthétique)
Resultat :
Cette fonction ne renvoie aucun résultat.
Exemples :
WAP\Write-Log -Message "Texte" -Color "Red" -Date $falseGet-Process -Name "NonExistentProcess" | WAP\Write-LogExit-Process
Cette fonction permet de fermer un processus.
Parametres :
- Name (Obligatoire) : Nom du processus à fermer
- Delay (Optionnel | Valeur par defaut = 0) : Une fois le processus trouvé, on peut définir un délai en seconde avant de le fermer
Resultat :
Cette fonction ne renvoie aucun résultat.
Exemples :
WAP\Exit-Process -Name "filezilla"WAP\Exit-Process -Name "filezilla.exe"WAP\Exit-Process -Name "vlc" -Delay 60Get-UninstallEXE
Cette fonction liste les logiciels installés à partir des informations registre :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
Parametres :
- SearchInDisplayName (Obligatoire) : Nom contenu dans le DisplayName du logiciel recherché. Attention à ne pas utiliser un nom qu'on peut facilement retrouvé dans plusieurs logiciels.
- PatternPublisher (Optionnel) : Nom contenu dans le Publisher du logiciel recherché. Expression régulière. A utiliser uniquement pour éviter de lister un autre logiciel dont le DisplayName est très proche.
- PatternDisplayVersion (Optionnel) : Numéro de version du logiciel recherché. Expression régulière.
Resultat :
Cette fonction renvoie la liste des logiciels Exe installés répondants aux critères d'entrées sous forme d'une liste de tableaux avec les propriétés suivantes :
-Location (Key Path)
-DisplayName
-Publisher
-DisplayVersion
-UninstallExe (Commande de désinstallation)
-UninstallArg (Arguments de désinstallation en mode interactif)
-InstallLocation
Exemples :
$example = WAP\Get-UninstallEXE -PatternDisplayName ".*VLC Media Player.*"
$example.Location
$example.DisplayName
$example.DisplayVersion
$example.UninstallExe
$example.UninstallArg
$exemple.InstallLocationforeach($Exe in (WAP\Get-UninstallEXE -PatternDisplayName '.*7-zip.*')) { $ExitCode = WAP\Start-Execution -Exe $Exe.UninstallExe -Arg '/S' }Get-UninstallMSI
Cette fonction liste les GUID CODE MSI à partir des informations registre :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
Parametres :
- PatternDisplayName (Obligatoire) : Nom contenu dans le DisplayName du logiciel recherché. Expression régulière.
- PatternPublisher (Optionnel) : Nom contenu dans le Publisher du logiciel recherché. Expression régulière. A utiliser uniquement pour éviter de lister un autre logiciel dont le DisplayName est très proche.
- PatternDisplayVersion (Optionnel) : Numéro de version du logiciel recherché. Expression régulière.
Resultat :
Cette fonction renvoie la liste des logiciels MSI installés répondants aux critères d'entrées sous forme d'une liste de tableaux avec les propriétés suivantes :
-Location (Key Path)
-DisplayName
-Publisher
-DisplayVersion
-GUID (Product Code de 38 caractères)
-InstallLocation
Exemples :
$example = WAP\Get-UninstallMSI -PatternDisplayName "VLC Media Player"
$example.Location
$example.DisplayName
$example.DisplayVersion
$example.UninstallExe
$example.UninstallArg
$example.InstallLocationforeach($Msi in (WAP\Get-UninstallMSI '7-zip')) { $ExitCode = WAP\Start-Execution -Msi $Msi.GUID }Get-UserInfos
Cette fonction liste tous les comptes utilisateurs du PC (SID, ProfilePath et Login).
Resultat :
Cette fonction renvoie une liste de comptes utilisateurs de la machine sous forme d'une liste de tableaux avec les propriétés suivantes :
-SID
-ProfilePath
-Login
Exemples :
$example = WAP\Get-UserInfos
$example.SID
$example.ProfilePath
$example.LoginStart-WAPSession
Cette fonction doit être éxécutée à chaque début d'installation ou de désinstallation d'un logiciel. Cela a un impact majeur sur la manière dont s'executent certaines fonctions et en particulier lorsqu'une erreur survient et que la sévérité de l'erreur est égale à 2.
Parametres :
- Action (Obligatoire) : "INSTALL" ou "UNINSTALL"
Resultat :
Cette fonction ne renvoie aucun résultat.
Exemples :
WAP\Start-WAPSession -Action "INSTALL"WAP\Start-WAPSession -Action "UNINSTALL"Expand-Zip
Cette fonction dézipe un fichier .zip dans un autre répertoire.
Parametres :
- Source (Obligatoire) : Chemin du fichier zip
- Dest (Obligatoire) : Chemin du répertoire dans lequel on souhaite extraire le fichier zip
Resultat :
Cette fonction ne renvoie aucun résultat.
Exemples :
WAP\Expand-Zip -Source "C:\temp\file.zip" -Destination "C:\temp\extract"Release-Notes
1.3.2026.0213 :
- Modification des variables SD() et Win()
1.3.2025.1127 :
- Modification de la fonction GetUserProcess (le temppath)
1.3.2025.1118 :
- Modification du TempPath dans C:\ProgramData (correction bug pour les utilisateurs itinérants) - Passage de .NET Framework 4.7.2 à 4.8 (WAPMessageUI et WAPUserProcess)
1.3.2025.1114 :
- Ajout de la variable software.DisplayName - Ajout de la variable software.DisplayVersion - Correction initialisation variable DiskSpace_Mo_Needed et RAM_Mo_Needed - Correction fonction IsValidRegistryValue - Passage de .NET Framework 4.7.2 à 4.8
1.3.2025.0526 :
- Ajout de la variable d'environnement $LoggedUser
1.3.2025.0520 :
- Correction de la fonction StartExecution pour gérer le fichier .msp
1.3.2025.0507 :
- Correction de GetUninstallMSI dans le cas ou le GuidCode n'est pas disponible dans UninstallString
1.3.2025.0507 :
- Correction lors de l'execution automatique de CloseAppMessage au lancement de StartWAPSession
1.3.2025.0506 :
- Ajout de la variable d'environnement $StartUp
1.3.2025.0505 :
- Amélioration de GetUserProcess pour analyser plus de 7 processus
1.3.2025.0429 :
- Ajout de la variable $StartMenu et modification variable $PublicDesktop - Modification de GetUninstallMSI : Déplacement de la vérification de la condition string.IsNullOrEmpty(UninstallString)
1.3.2025.0414 :
- Ajout des variables d'environnements $PF, $PF86, $PD, $PublicDesktop
1.3.2025.0414 :
- Amélioration des logs
1.3.2025.0411 :
- Début des releases notes