firefox-portable-specific-version
Paquet d’installation silencieuse pour firefox-portable-specific-version
5-10
- package: tis-firefox-portable-specific-version-template
- name: firefox-portable-specific-version
- version: 5-10
- locale: all
- target_os: windows
- architecture: all
- signature_date:
- size: 8.27 Ko
package : tis-firefox-portable-specific-version-template
version : 5-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 : a3bbf0b5-a495-4ed7-8f7a-32d1d5174092
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 : 2026-03-09T15:09:32.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 : omOyIi6/g9B5d18BdkfR3bB1a57EqCgnu1VGVrhgxh2lKsx4sBVdDvLkErynOKlFtALpd3FZvfSMjeynHhhpoV7QMqikr951JhqWOYx5/nJ+x4U2w/uSr+fhEHnt2GAQ4uLDko47yP6BVRDAun4XbgIo6QSLHuotSRGTiq7xAl+YmmiwVDxPmC+JAAL0qnfgC2sAo5Va5qmbmmMzp9wjOa9H12g1qWUAEUd4TESE767KLluN6myti9IU0WBmbIl8juI44Zg1uvHL7K54B+PJ1syU3Td9R42G4OufsO++FN78vXhgR+jyjFBMuewzN4kzAQMvlMkRoe38P8bnoPWEiw==
# -*- 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(app_dir, 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
import json
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 = json.loads(waptguihelper.memo_dialog('policy.json','Give Policy.json',datapolicy))
icon_path = makepath(basedir,'icon.ico')
firefox_path = makepath(basedir,app_name,"firefox.exe")
firefox_path_new = makepath(basedir,app_name,"firefox2.exe")
with open('policies.json','w') as f:
f.write(json.dumps(newdatapolicy,indent=4))
bin_resource_hacker= makepath(programfiles,'ResourceHacker',"ResourceHacker.exe")
if not isfile(bin_resource_hacker):
waptguihelper.message_dialog('Integration of the icon','For better integration of the icon into the taskbar, install the tis-resourcehacker-portable package on your machine to recreate the package.')
else:
data_ini = r"""[FILENAMES]
Exe = "%s"
SaveAs = "%s"
Log = CONSOLE
[COMMANDS]
-addoverwrite "%s", ICONGROUP,32512,0
-addoverwrite "%s", ICONGROUP,1,0""" % (firefox_path,firefox_path_new,icon_path,icon_path)
with open('seticon.ini' ,'w') as f:
f.write(data_ini)
run('"%s" -script seticon.ini' % (bin_resource_hacker))
remove_file(firefox_path)
filecopyto(firefox_path_new,firefox_path)
remove_file(firefox_path_new)
# Validating update-package-sources
return True
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
f77bafc32012655bf17627115fbbb27256442ebbc072c7cb674d07b3a427d731 : WAPT/control
9a45ebf166bf2813013c8fecccebb44b98b445a1a272afc8bbe29881b50709ae : WAPT/icon.png
a451cd745cae47d99a0190fdc6616e5b948d68c5b9f93dd9884433aa60580222 : luti.json
0ab3a26bb1c3af0907d19ee4d875b6d45b9d7708c436ac15499707e8fb1ef2e8 : policies-template.json
9e35932f32060f7cb114b9bfcc7a3b0dd5cd49fbf84f8dbf103336683a40f0db : setup.py
55485fd9885710dbad03a8fb15b7bb83d0acb2bacf174e93a7ff0a90b5d8a23d : update_package.py