tis-snagit icon

Snagit

Silent install package for Snagit

26.1.1-5

Preprod packages are packages built on LUTI. They remain in PREPROD usually for 5 days, after which a second VirusTotal scan is performed to verify that the status has not changed.
If the package passes this last check, it is promoted to PROD and published on the store.

  • package: tis-snagit
  • name: Snagit
  • version: 26.1.1-5
  • maintainer: Amel FRADJ
  • licence: https://www.techsmith.com/snagit-eula.html
  • target_os: windows
  • impacted_process: SnagitCapture,SnagitEditor,SnagPriv,SnagitPI64
  • architecture: x64
  • signature_date:
  • size: 439.24 Mo
  • homepage : https://www.techsmith.com/screen-capture.html

package           : tis-snagit
version           : 26.1.1-5
architecture      : x64
section           : base
priority          : optional
name              : Snagit
categories        : 
maintainer        : Amel FRADJ
description       : Snagit is a image capture program from TechSmith
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : 
target_os         : windows
min_wapt_version  : 
sources           : 
installed_size    : 
impacted_process  : SnagitCapture,SnagitEditor,SnagPriv,SnagitPI64
description_fr    : Snagit est un programme de capture d'images de TechSmith
description_pl    : Snagit to program do przechwytywania obrazów od TechSmith
description_de    : Snagit ist ein Bildaufnahmeprogramm von TechSmith
description_es    : Snagit es un programa de captura de imágenes de TechSmith
description_pt    : Snagit é um programa de captura de imagens da TechSmith
description_it    : Snagit è un programma per l'acquisizione di immagini di TechSmith
description_nl    : Snagit is een programma voor het vastleggen van afbeeldingen van TechSmith
description_ru    : Snagit - программа для захвата изображений от TechSmith
audit_schedule    : 
editor            : 
keywords          : 
licence           : https://www.techsmith.com/snagit-eula.html
homepage          : https://www.techsmith.com/screen-capture.html
package_uuid      : a3f45517-fcac-4553-8933-1d8595ee2ca7
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 10.0.19042
max_os_version    : 
icon_sha256sum    : 163f54280570b7a1390d7c09d425e2771f807c1d757f094514af8016a4e73eb3
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-04-01T14:39:33.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature         : FI576g2JwHfHlx8xYiLS970x3IJzN94WHr2F/z4FYZbTkQlcctHJD0nU4Cm+evA3TV8KSGY7PFA7nccADXgTet1SfWHul0h9L4DRXR0gsqSC0w23nT0r/7FSIrIjSy9lzpG+rx6PhW6k4UqMGU7uYYSU5SkTcNk+FVU+1VonCtkmV/CXCoVmkp/i6+uDAtmDwfa1udPc85Jn+ea1IxGqwrHksankSDRdSwguUEJ4vhoLVTN74NFBXmHJ5AiZwPFTThyygOul+iAoxRcA0ctqOKUYbyLSzINzpw1S6nZGJMEDqDjVvDD7ngL5WHmWBuoy5W82jslwAx0fEVLEqZDADQ==

# -*- coding: utf-8 -*-
from setuphelpers import *


def install():
    # Uninstalling older version of the software that can remains
    for to_uninstall in installed_softwares(name="Snagit"):
        if Version(to_uninstall["version"]) < Version(control.get_software_version()):
            print(f"Removing: {to_uninstall['name']} ({to_uninstall['version']})")
            killalltasks(ensure_list(control.impacted_process))
            run(uninstall_cmd(to_uninstall["key"]))
            wait_uninstallkey_absent(to_uninstall["key"])

    # Installing the software
    install_msi_if_needed(
        'snagit.msi',
        min_version=control.get_software_version(),
        properties={
            'START_NOW': 0,
            'TSC_START_AUTO': 0,
            'TSC_HIDE_REGISTRATION_KEY': 1
        }
    )

def uninstall():
    # Uninstalling the software
    for to_uninstall in installed_softwares(name="Snagit"):
        print(f"Removing: {to_uninstall['name']} ({to_uninstall['version']})")
        killalltasks(ensure_list(control.impacted_process))
        run(uninstall_cmd(to_uninstall["key"]))
        wait_uninstallkey_absent(to_uninstall["key"])
    
    # Clean directories left
    users = glob.glob(makepath('C:', 'Users', '*'))

    print('Cleaning up folders')
    for user in users:
        if isdir(makepath('C:', 'Users', user, 'Documents', 'Snagit')):
            remove_tree(makepath('C:', 'Users', user, 'Documents', 'Snagit'))
        if isdir(makepath('C:', 'Users', user, 'TechSmith', 'Snagit')):
            remove_tree(makepath('C:', 'Users', user, 'TechSmith', 'Snagit'))

# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
import waptlicences


def update_package():
    # Declaring local variables
    package_updated = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    app_name = control.name

    api_url = "https://updater.techsmith.com/api/v1/CheckForUpdates"
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36'}
    data =  {
        "ProductName": "Snagit",
        "ProductVersion": "24.4.0",
        "ProductLanguage": "ENU",
        "ProductBitness": "64",
        "OSVersion": "10.0.26100.0",
        "DotNetVersion": "4.8.9032"
    }
    
    download_url = "https://download.techsmith.com/snagit/releases/snagit.msi"
    latest_bin = download_url.rsplit('/', 1)[-1]
    latest_bin_extension = latest_bin.rsplit('.', 1)[-1]
    version = json.loads(requests.post(api_url, json=data, headers=headers).content)['NextVersion']

    # Downloading latest binaries
    print(f"Latest {app_name} version is: {version}")
    print(f"Download URL is: {download_url}")
    if not isfile(latest_bin):
        print(f"Downloading: {latest_bin}")
        wget(download_url, latest_bin, proxies=proxies)
    else:
        print(f"Binary is present: {latest_bin}")

    expected_issuer = "TechSmith Corporation"
    sign_name = waptlicences.check_msi_signature(latest_bin)[0]
    if sign_name != expected_issuer:
        error(f'Bad issuer {sign_name} != {expected_issuer} ')

    # Changing version of the package
    if Version(version) > Version(control.get_software_version()):
        print(f"Software version updated (from: {control.get_software_version()} to: {Version(version)})")
        package_updated = True
    else:
        print(f"Software version up-to-date ({Version(version)})")

    for f in glob.glob(f'*.{latest_bin_extension}'):
        if f != latest_bin:
            remove_file(f)

    control.set_software_version(get_version_from_binary(latest_bin))
    control.save_control_to_wapt()

    return package_updated

01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
e18ccb0dbb3a98adca1fb680f755b38ac8fa94a4a7f5485d16ddc63fe5c25353 : WAPT/control
163f54280570b7a1390d7c09d425e2771f807c1d757f094514af8016a4e73eb3 : WAPT/icon.png
6af224431739d4da9d0cf7508e912e1fde51f3d368b7dfb8ddf61e06e26c123c : luti.json
8c2769ce341f5b5b2a555836a8423c041e50f7932edf314d075e05efde5c6423 : setup.py
23df86081520706c0588072dd3add554b64048d351eed40a945c3610a2cdcc87 : snagit.msi
2895dea4f059387d334edbc68799aab05df53dd0dd793f1585e72fdb2c82d367 : update_package.py