tis-firefox-portable-specific-version-template icon

firefox-portable-specific-version

Silent install package for firefox-portable-specific-version

1-10

  • package: tis-firefox-portable-specific-version-template
  • name: firefox-portable-specific-version
  • version: 1-10
  • locale: all
  • target_os: windows
  • architecture: all
  • signature_date:
  • size: 7.87 Ko

package           : tis-firefox-portable-specific-version-template
version           : 1-10
architecture      : all
section           : base
priority          : optional
name              : firefox-portable-specific-version
categories        : 
maintainer        : 
description       : This package is a portable firefox installation which is used to launch specific version
depends           : 
conflicts         : 
maturity          : PROD
locale            : all
target_os         : windows
min_wapt_version  : 2.3
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      : 948da0f4-bf66-4771-a438-02b66bfdca89
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : 9a45ebf166bf2813013c8fecccebb44b98b445a1a272afc8bbe29881b50709ae
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2025-08-12T09:00:22.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         : BulkDgi/ngv0e2dDihKoKRc9kKThm8rYCKG9r7efunvUnyLH6YIroqP6Iz8mImDCVdlsPqw78oL9qDrjXMbj7dNvQEqsxguNdOAHVm69Pu+4M3Ekh+ONuBmHyDs4j4hApoP9Mip4oxJoKWdo4AFQ2ulZSW0JS+zB+uLep+lInMLMkd2/vzsu8vpq/QpTsUlvVrTZixRlhw+yTWGArPu4ob6+RK0BgCIScRreq4gpRPw/7jM9sY7SXW75d5nXAl1iDIkxFwMbQWVEYRfNjp1VrzcXGAt1ch6p1+Y0+vxfQib+/607ovXK27sibfJFes1SVh3+yJrqSJQ1iu0dLT7gkA==

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


def install():

    app_name = control.package.split('-',1)[1]
    app_dir = makepath(programfiles32, app_name)
    app_path = makepath(app_dir, "firefox.exe")

    icon_path = makepath(common_desktop(), f"{app_name}.ico")

    policies_folder = makepath(app_dir, "distribution")
    policies_json = "policies.json"

    # Installing software
    killalltasks(ensure_list(control.impacted_process))
    if isdir(app_dir) :
        remove_tree(app_dir)


    settings_js = 'pref("browser.policies.alternateGPO", "");'

    with open(makepath(app_name,'defaults','pref','settings.js'),'w') as f :
        f.write(settings_js)

    data_autoconfigjs = r"""pref("general.config.filename", "firefox.cfg");
pref("general.config.obscure_value", 0);
pref("general.config.sandbox_enabled", false);
"""

    with open(makepath(app_name,'defaults','pref','autoconfig.js'),'w') as f :
        f.write(data_autoconfigjs)


    firefoxcfg = r"""//
try {
  var { WindowsGPOParser } = Components.utils.import("resource://gre/modules/policies/WindowsGPOParser.jsm", {});
  WindowsGPOParser.readPolicies = function() {
    return {};
  };
} catch (e) {
  Components.utils.reportError(e);
}"""

    with open(makepath(app_name,'firefox.cfg'),'w') as f :
        f.write(firefoxcfg)

    copytree2(app_name,app_dir)

    # Copy policies.json
    if not isdir(policies_folder):
        mkdirs(policies_folder)

    filecopyto(policies_json, policies_folder)
    filecopyto("icon.ico", icon_path)

    cmd_path = makepath(system32(), "cmd.exe")
    launch_firefox = f' /C "set XPCSHELL_TEST_PROFILE_DIR=1 && start "" "{app_path}" -P {app_name}"'
    create_desktop_shortcut(app_name, cmd_path, launch_firefox, icon=icon_path)
    create_programs_menu_shortcut(app_name, cmd_path, launch_firefox, icon=icon_path)


def uninstall():
    app_name = control.package.split('-',1)[1]
    app_dir = makepath(programfiles32, app_name)

    # Uninstalling software
    killalltasks(ensure_list(control.impacted_process))
    if isdir(app_dir):
        remove_tree(app_dir)

    remove_desktop_shortcut(app_name)
    remove_programs_menu_shortcut(app_name)

def session_setup():
    app_name = control.package.split('-',1)[1]
    app_dir = makepath(programfiles32, app_name)
    app_path = makepath(app_dir, "firefox.exe")

    # Create firefox user profile
    run(f'"{app_path}" -CreateProfile {app_name}')


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

def update_package():

    if params.get("running_as_luti", False):
        return True

    # Declaring local variables
    if 'template' in control.package:
        control.package = waptguihelper.input_dialog("set package name", "You can redefine the package name", control.package.replace('-template',''))

    control.set_software_version(waptguihelper.input_dialog("set_version", "You can define version of package", control.version))
    control.save_control_to_wapt()

    app_name = control.package.split('-',1)[1]

    if isdir(app_name):
        remove_tree(app_name)

    if isdir("tempo"):
        remove_tree("tempo")

    # Get download URL
    bin_firefox_install = waptguihelper.filename_dialog('Select EXE firefox installer',"c:\\", "","EXE Files|*.exe")
    unzip_with_7zip(bin_firefox_install, "tempo")

    copytree2(makepath('tempo','core'),app_name)
    remove_tree('tempo')

    if not isfile('icon.ico'):
        filecopyto(waptguihelper.filename_dialog('Select Ico for shortcut',"c:\\", "","ICO Files|*.ico"),'icon.ico')


    fpolicy = 'policies.json'
    if not isfile('policies.json'):
        fpolicy = 'policies-template.json'

    datapolicy = open(fpolicy,'r').read()

    newdatapolicy = waptguihelper.memo_dialog('policy.json','Give Policy.json',datapolicy)

    with open('policies.json','w') as f:
        f.write(datapolicy)

    # Validating update-package-sources
    return True

38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
1b00924ac6d49f41aa9346837bc58aa11ce187d2bc5e1af50b6d19afcd183076 : WAPT/control
9a45ebf166bf2813013c8fecccebb44b98b445a1a272afc8bbe29881b50709ae : WAPT/icon.png
e27401f2a8322d6904d5105bd665a81c20e4f9cfd5bc0a39439fde1f4c81676a : luti.json
30598c4e18eb989bd7387191fc9fa5b3efd5c292310facecddb37fd918ab04b0 : policies-template.json
55859025837c89efd701ed817d183389f932cf93533618301d2bbb6d3226d8d6 : setup.py
83a210260a0441a34f52510d0fb120f30c918aa8befbb74845878f285972bbf0 : update_package.py