Windows downloads, deployment, and pre-configuration

Downloads (64-bit PC only) #

Differences between download modes
Type of installationGPO compatibleBuilt-in auto-updateLocal data cleared during uninstallationSignatureData location
Microsoft StoreNOYESYES ⚠️MicrosoftC:\Users\xxx\AppData\Local\Packages\dataSmine.UpSignOn_fqgssej11bscy\LocalState
msixbundleYES
MSIYESNO
but possible with a GPO script
NOUPSIGNONC:\Users\xxx\AppData\Local\UpSignOn
⚠️ NB: consequences of erasing local data
  • PERSO vaults: the vault is lost if there is no other synchronized device or backup from a trusted contact
  • PRO vaults: the vault is still available on the server, but the forgotten password procedure can no longer be used on this device (until the next complete enrollment).

Download via Microsoft Store

Microsoft Store

msixbundle download

This method allows you to install the file from the Microsoft Store without going through the Microsoft Store application. So the application will receive updates automatically.

UpSignOn_latest.zip
Current version: 7.9.0
  • Unzip the UpSignOn_latest.zip file
  • Then run the powershell installation script
  • Please note, if you use this method for GPO deployment, you must apply the script to the user and not for the computer
All versions

MSI Downloads

NB: all msi packages are signed with an EV-level code signing certificate that does not trigger Windows security alerts. So if you get a Windows security alert, refuse the installation immediately! The certificate is in the name of UPSIGNON and is signed by “Sectigo Public Code Signing CA EV R36”.

NB: You can install the application at machine level. The data will remain specific to each user and there will be no conflict.

Silent admin install versionInteractive installation versionSilent user install version
ideal for GPOsfor manual installationsusable for GPOs
installation in
C:\Program Files\UPSIGNON\UpSignOn (msi)
default installation in
C:\Program Files\UPSIGNON\UpSignOn (msi)
installation for user only in
C:\Users\xxx\AppData\Roaming\UPSIGNON\UpSignOn (msi)
Current version: 7.9.0
Latest.msiLatest.msiLatest.msi
All versions
All versions
All versions

Pre-configuration by GPO #

(from version 7.7.0 of the application)

To simplify the creation of vaults by your users, you can pre-configure your bank’s configuration URL by creating the following file per GPO:

  • case of Microsoft Store / .appxbundle installation, file to be placed in:
    C:\Users\xxx\AppData\Local\Packages\dataSmine.UpSignOn_fqgssej11bscy\LocalState\v6-gpo-configuration.json
  • case of .msi installation, file to be placed in:
    C:\Users\xxx\AppData\Local\UpSignOn\v6-gpo-configuration.json

Content of the file (to be adapted according to your case):

v6-gpo-configuration.json
{"proConfigUrl":"https://<xxx.xx/xx>"}

The following script can be used to deploy this file automatically (to be adjusted with your url):

upsignonGPO.sh
## RUN AS ADMIN !
$cUsersPath = "C:\Users"
$usersPaths = (Get-ChildItem -Path $cUsersPath -Directory -ErrorAction SilentlyContinue).FullName
$bankUrl = "https://<xxx.xx/xx>";
Foreach($u in $usersPaths){
  if (Get-AppxPackage -Name 'dataSmine.UpSignOn' -AllUsers) {
      # Store package case
      New-Item "$u\AppData\Local\Packages\dataSmine.UpSignOn_fqgssej11bscy\LocalState\v6-gpo-configuration.json" -ItemType File -Value "{`"proConfigUrl`":`"$bankUrl`"}" -Force
  } else {
      # MSI package case
      New-Item "$u\AppData\Local\UpSignOn\v6-gpo-configuration.json" -ItemType File -Value "{`"proConfigUrl`":`"$bankUrl`"}" -Force
  }
}

GPO auto update script #

If you wish to automatically update the app by GPO, you can use this script to automatically download the latest version of the app each time a new release is published.

upsignon-update.ps1
######################################
# CONSTANTS TO ADAPT TO YOUR CONTEXT #
######################################
# Path of the update folder
$updateFolderPath = "C:\path\to\upsignon-update\folder"

# Choice of the installation mode amongst "SILENT_MSI", "SILENT_USER_MSI", "STORE"
$packageType = "SILENT_MSI"


#################
# UPDATE SCRIPT #
# This script downloads the last package of the app only if a new version is available.
#########################

# Latest available version URLs per package type
$latestMSIVersionUrl = "https://app.upsignon.eu/downloads/latest_windows_msi.txt"
$latestStoreVersionUrl = "https://app.upsignon.eu/downloads/latest_windows_store.txt"

# Latest available package download URLs
$silentMsiDownloadUrl = "https://app.upsignon.eu/downloads/UpSignOn-latest-silent-installer.msi"
$silentUserMsiDownloadUrl = "https://app.upsignon.eu/downloads/UpSignOn-latest-silent-user-installer.msi"
$storeDownloadUrl = "https://app.upsignon.eu/downloads/UpSignOn_latest.zip"

$packageLatestVersionUrl = $latestMSIVersionUrl
$packageDownloadUrl = $silentMsiDownloadUrl
$localPackagePath = "$updateFolderPath\upsignon.msi"
if($packageType -eq "SILENT_USER_MSI") {
    $packageDownloadUrl = $silentUserMsiDownloadUrl
} elseif($packageType -eq "STORE") {
    $packageLatestVersionUrl = $latestStoreVersionUrl
    $packageDownloadUrl = $storeDownloadUrl
    $localPackagePath = "$updateFolderPath\upsignon.zip"
}

$currentVersionFilePath = "$updateFolderPath\currentVersion.txt"
$latestVersionFilePath = "$updateFolderPath\latestVersion.txt"


# Download latest version file
Invoke-WebRequest -Uri $packageLatestVersionUrl -OutFile $latestVersionFilePath

# Read current version and latest version
$currentVersion = Get-Content -Path $currentVersionFilePath
$latestVersion = Get-Content -Path $latestVersionFilePath

# Compare versions
if ($currentVersion -ne $latestVersion) {
    Write-Output "A new version is available: $latestVersion. Updating..."

    # Remove previous package
    if (Test-Path $localPackagePath) {
        Remove-Item $localPackagePath
    }

    # Download the new package
    Invoke-WebRequest -Uri $packageDownloadUrl -OutFile $localPackagePath

    # Update current version
    Set-Content -Path $currentVersionFilePath -Value $latestVersion

    # Remove latest version file
    Remove-Item $latestVersionFilePath

    Write-Output "The package is now in version $latestVersion. $localPackagePath"
} else {
    Write-Output "The package is already in version $currentVersion."
    # Remove latest version file
    Remove-Item $latestVersionFilePath
}

Documentation for migrating to the msi package (from the store version) #

View

Here are the things to know before starting this migration:

  • the store version and the msi version of the application, although functionally identical and bearing the same name, are from Windows point of view different applications.
  • the store version of the application stores its data in C:\Users\xxx\AppData\Local\Packages\dataSmine.UpSignOn_fqgssej11bscy\LocalState
  • uninstalling the app store results in data deletion
  • the msi version of the application stores its data in C:\Users\xxx\AppData\Local\UpSignOn
  • when launching the msi version of the application, if the C:\Users\xxx\AppData\Local\UpSignOn folder does not exist, the application copies the data from C:\Users\xxx\AppData\Local\Packages\dataSmine.UpSignOn_fqgssej11bscy\LocalState if they exist to C:\Users\xxx\AppData\Local\UpSignOn
  • Windows cannot tell the difference between store version and version shortcuts msi.

The ideal migration procedure is therefore

  1. execute a script which copies, for each user, the data from the version store to the folder of the msi version
  2. uninstall store version
  3. install msi version

For step 1. and 2. you can use this powershell script to run as administrator:

upsignonMigrateFromStoreToMsi_Steps_1_2.sh
## RUN AS ADMIN !
$cUsersPath = "C:\Users"
$usersPaths = (Get-ChildItem -Path $cUsersPath -Directory -ErrorAction SilentlyContinue).FullName

Foreach($u in $usersPaths){
    $msiFolderPath = "$u\AppData\Local\UpSignOn"
    $storeFolderPath = "$u\AppData\Local\Packages\dataSmine.UpSignOn_fqgssej11bscy\LocalState"
    if (-Not (Test-Path $msiFolderPath) -And (Test-Path $storeFolderPath)) {
        New-Item -ItemType Directory -Force -Path $msiFolderPath
        Copy-Item -Path "$storeFolderPath\*" -Destination "$msiFolderPath" -Recurse
    }
}
Get-AppxPackage -Name 'dataSmine.UpSignOn' -AllUsers | Remove-AppxPackage -AllUsers

For step 3., you can take inspiration from this script by adapting the version number of the application and the file path.

upsignonMigrateFromStoreToMsi_Step_3.sh
Start-Process \\srv\partages$\xxx\UpSignOn-7.3.0-silent-installer.msi -ArgumentList "/quiet"