tis-notepadplusplus icon

Notepad++

Paquet d'installation silencieuse pour Notepad++

8.9.6.1-12
Office
Development
Office
Development

Les paquets PREPROD sont des paquets construits via LUTI. Ils restent généralement 5 jours en PREPROD, après quoi un deuxième scan VirusTotal est effectué pour vérifier que le status n'a pas changé.
Si le paquet réussit ce dernier contrôle, il est promu en PROD et publié sur le store.

  • package: tis-notepadplusplus
  • name: Notepad++
  • version: 8.9.6.1-12
  • categories: Office,Development
  • maintainer: WAPT Team,Tranquil IT,Jimmy PELÉ,Gaëtan SEGAT
  • editor: Don Ho
  • licence: GPL
  • locale: all
  • target_os: windows
  • impacted_process: notepad++
  • architecture: arm64
  • signature_date:
  • size: 6.59 Mo
  • installed_size: 2.53 Mo
  • homepage : https://notepad-plus-plus.org/

package           : tis-notepadplusplus
version           : 8.9.6.1-12
architecture      : arm64
section           : base
priority          : optional
name              : Notepad++
categories        : Office,Development
maintainer        : WAPT Team,Tranquil IT,Jimmy PELÉ,Gaëtan SEGAT
description       : Notepad++ is a text editor and source code editor for use with Microsoft Windows
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : all
target_os         : windows
min_wapt_version  : 2.0
sources           : https://notepad-plus-plus.org/downloads/
installed_size    : 2527232
impacted_process  : notepad++
description_fr    : Notepad++ est un éditeur de texte libre générique, fonctionnant sous Windows
description_pl    : Notepad++ jest edytorem tekstu i edytorem kodu źródłowego przeznaczonym do użytku w systemie Microsoft Windows
description_de    : Notepad++ ist ein Text- und Quellcode-Editor für die Verwendung mit Microsoft Windows
description_es    : Notepad++ es un editor de texto y de código fuente para usar con Microsoft Windows
description_pt    : Notepad+++ é um editor de texto e editor de código fonte para utilização com Microsoft Windows
description_it    : Notepad++ è un editor di testo e di codice sorgente da utilizzare con Microsoft Windows
description_nl    : Notepad++ is een tekst-editor en broncode-editor voor gebruik met Microsoft Windows
description_ru    : Notepad++ - это текстовый редактор и редактор исходного кода для использования в Microsoft Windows
audit_schedule    : 
editor            : Don Ho
keywords          : text,editor,notepad,++,note,pad
licence           : GPL
homepage          : https://notepad-plus-plus.org/
package_uuid      : 90be8227-46e3-4d36-ba8f-693879094439
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://notepad-plus-plus.org/news/
min_os_version    : 5.1
max_os_version    : 
icon_sha256sum    : 416085afa2c9d514cd68126bd43084388b210a5f93da147c0a80db1821cf28a2
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-05-26T15:38:03.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         : TfjScofpGdoYd8kbg+JAofiiY/VqDZ4pttgkViJkexEj+5kXMN8GcYVlOD38yNJH5CzH4y/Ehr5gB9clv5T/9i8PZE38Ukk9KS/CN+sDcQiECAcjHQU+Ov/5O+RimWevuIpo0Nj83YwlnOJPUqmIfw6hAxReMTBggfG1PCHvsoDg+DhPx79DZh36ZpeQkPCpONHnKG3vjEXMECxir1b2ZxtjVy9v+J1FEMbM+MHKZd883VHcVNN7bo01DZrF1JuQD3BDAwRvEYUgujkpTamVeTH+4tT3cA59GwOfyCRax1P19dGSRaUgmeTugjS4bQGRG/FUZRxvUQBk6aLl8f+P4w==

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


def install():
    # Declaring local variables
    bin_name = glob.glob("*npp*.exe")[0]

    # Installing the package
    print("Installing: %s" % bin_name)
    install_exe_if_needed(
        bin_name,
        silentflags="/S",
        key="Notepad++",
        min_version=control.get_software_version(),
    )


def session_setup():
    print("Disabling: Auto-update check")

    # C:\Users\user\AppData\Roaming\Notepad++
    user_conf_dir = makepath(application_data, "Notepad++")
    user_conf_file = makepath(user_conf_dir, "config.xml")
    config_xml_content = r"""<?xml version="1.0" encoding="UTF-8" ?>
<NotepadPlus>
    <ProjectPanels>
        <ProjectPanel id="0" workSpaceFile="" />
        <ProjectPanel id="1" workSpaceFile="" />
        <ProjectPanel id="2" workSpaceFile="" />
    </ProjectPanels>
    <GUIConfigs>
        <GUIConfig name="ToolBar" visible="yes">standard</GUIConfig>
        <GUIConfig name="StatusBar">show</GUIConfig>
        <GUIConfig name="TabBar" dragAndDrop="yes" drawTopBar="yes" drawInactiveTab="yes" reduce="yes" closeButton="yes" doubleClick2Close="no" vertical="no" multiLine="no" hide="no" quitOnEmpty="no" iconSetNumber="0" />
        <GUIConfig name="ScintillaViewsSplitter">vertical</GUIConfig>
        <GUIConfig name="UserDefineDlg" position="undocked">hide</GUIConfig>
        <GUIConfig name="TabSetting" replaceBySpace="no" size="4" />
        <GUIConfig name="AppPosition" x="55" y="77" width="1100" height="700" isMaximized="no" />
        <GUIConfig name="FindWindowPosition" left="0" top="0" right="0" bottom="0" />
        <GUIConfig name="FinderConfig" wrappedLines="no" purgeBeforeEverySearch="no" />
        <GUIConfig name="noUpdate" intervalDays="15" nextUpdateDate="20211029">yes</GUIConfig>
        <GUIConfig name="Auto-detection">yes</GUIConfig>
        <GUIConfig name="CheckHistoryFiles">no</GUIConfig>
        <GUIConfig name="TrayIcon">no</GUIConfig>
        <GUIConfig name="MaitainIndent">yes</GUIConfig>
        <GUIConfig name="TagsMatchHighLight" TagAttrHighLight="yes" HighLightNonHtmlZone="no">yes</GUIConfig>
        <GUIConfig name="RememberLastSession">yes</GUIConfig>
        <GUIConfig name="DetectEncoding">yes</GUIConfig>
        <GUIConfig name="SaveAllConfirm">yes</GUIConfig>
        <GUIConfig name="NewDocDefaultSettings" format="0" encoding="4" lang="0" codepage="-1" openAnsiAsUTF8="yes" />
        <GUIConfig name="langsExcluded" gr0="0" gr1="0" gr2="0" gr3="0" gr4="0" gr5="0" gr6="0" gr7="0" gr8="0" gr9="0" gr10="0" gr11="0" gr12="0" langMenuCompact="yes" />
        <GUIConfig name="Print" lineNumber="yes" printOption="3" headerLeft="" headerMiddle="" headerRight="" footerLeft="" footerMiddle="" footerRight="" headerFontName="" headerFontStyle="0" headerFontSize="0" footerFontName="" footerFontStyle="0" footerFontSize="0" margeLeft="0" margeRight="0" margeTop="0" margeBottom="0" />
        <GUIConfig name="Backup" action="0" useCustumDir="no" dir="" isSnapshotMode="yes" snapshotBackupTiming="7000" />
        <GUIConfig name="TaskList">yes</GUIConfig>
        <GUIConfig name="MRU">yes</GUIConfig>
        <GUIConfig name="URL">2</GUIConfig>
        <GUIConfig name="uriCustomizedSchemes">svn:// cvs:// git:// imap:// irc:// irc6:// ircs:// ldap:// ldaps:// news: telnet:// gopher:// ssh:// sftp:// smb:// skype: snmp:// spotify: steam:// sms: slack:// chrome:// bitcoin:</GUIConfig>
        <GUIConfig name="globalOverride" fg="no" bg="no" font="no" fontSize="no" bold="no" italic="no" underline="no" />
        <GUIConfig name="auto-completion" autoCAction="3" triggerFromNbChar="1" autoCIgnoreNumbers="yes" funcParams="yes" />
        <GUIConfig name="auto-insert" parentheses="no" brackets="no" curlyBrackets="no" quotes="no" doubleQuotes="no" htmlXmlTag="no" />
        <GUIConfig name="sessionExt"></GUIConfig>
        <GUIConfig name="workspaceExt"></GUIConfig>
        <GUIConfig name="MenuBar">show</GUIConfig>
        <GUIConfig name="Caret" width="1" blinkRate="600" />
        <GUIConfig name="ScintillaGlobalSettings" enableMultiSelection="no" />
        <GUIConfig name="openSaveDir" value="0" defaultDirPath="" />
        <GUIConfig name="titleBar" short="no" />
        <GUIConfig name="stylerTheme" path="C:\Users\jpadmin\AppData\Roaming\Notepad++\stylers.xml" />
        <GUIConfig name="insertDateTime" customizedFormat="yyyy-MM-dd HH:mm:ss" reverseDefaultOrder="no" />
        <GUIConfig name="wordCharList" useDefault="yes" charsAdded="" />
        <GUIConfig name="delimiterSelection" leftmostDelimiter="40" rightmostDelimiter="41" delimiterSelectionOnEntireDocument="no" />
        <GUIConfig name="multiInst" setting="0" />
        <GUIConfig name="MISC" fileSwitcherWithoutExtColumn="yes" fileSwitcherExtWidth="50" fileSwitcherWithoutPathColumn="yes" fileSwitcherPathWidth="50" backSlashIsEscapeCharacterForSql="yes" writeTechnologyEngine="0" isFolderDroppedOpenFiles="no" docPeekOnTab="no" docPeekOnMap="no" saveDlgExtFilterToAllTypes="no" muteSounds="no" />
        <GUIConfig name="Searching" monospacedFontFindDlg="no" stopFillingFindField="no" findDlgAlwaysVisible="no" confirmReplaceInAllOpenDocs="yes" replaceStopsWithoutFindingNext="no" />
        <GUIConfig name="searchEngine" searchEngineChoice="2" searchEngineCustom="" />
        <GUIConfig name="MarkAll" matchCase="no" wholeWordOnly="yes" />
        <GUIConfig name="SmartHighLight" matchCase="no" wholeWordOnly="yes" useFindSettings="no" onAnotherView="no">yes</GUIConfig>
        <GUIConfig name="DarkMode" enable="no" colorTone="0" customColorTop="2105376" customColorMenuHotTrack="4210752" customColorActive="4210752" customColorMain="2105376" customColorError="176" customColorText="14737632" customColorDarkText="12632256" customColorDisabledText="8421504" customColorEdge="6579300" />
        <GUIConfig name="ScintillaPrimaryView" lineNumberMargin="show" lineNumberDynamicWidth="yes" bookMarkMargin="show" indentGuideLine="show" folderMarkStyle="box" lineWrapMethod="aligned" currentLineHilitingShow="show" scrollBeyondLastLine="yes" rightClickKeepsSelection="no" disableAdvancedScrolling="no" wrapSymbolShow="hide" Wrap="no" borderEdge="yes" isEdgeBgMode="no" edgeMultiColumnPos="" zoom="0" zoom2="0" whiteSpaceShow="hide" eolShow="hide" borderWidth="2" smoothFont="no" paddingLeft="0" paddingRight="0" distractionFreeDivPart="4" />
        <GUIConfig name="DockingManager" leftWidth="200" rightWidth="200" topHeight="200" bottomHeight="200">
            <ActiveTabs cont="0" activeTab="-1" />
            <ActiveTabs cont="1" activeTab="-1" />
            <ActiveTabs cont="2" activeTab="-1" />
            <ActiveTabs cont="3" activeTab="-1" />
        </GUIConfig>
    </GUIConfigs>
    <FindHistory nbMaxFindHistoryPath="10" nbMaxFindHistoryFilter="10" nbMaxFindHistoryFind="10" nbMaxFindHistoryReplace="10" matchWord="no" matchCase="no" wrap="yes" directionDown="yes" fifRecuisive="yes" fifInHiddenFolder="no" fifProjectPanel1="no" fifProjectPanel2="no" fifProjectPanel3="no" fifFilterFollowsDoc="no" fifFolderFollowsDoc="no" searchMode="0" transparencyMode="1" transparency="150" dotMatchesNewline="no" isSearch2ButtonsMode="no" regexBackward4PowerUser="no" />
    <History nbMaxFile="10" inSubMenu="no" customLength="-1" />
</NotepadPlus>
"""

    if not isfile(user_conf_file):
        if not isdir(user_conf_dir):
            mkdirs(user_conf_dir)
        print("Creating: %s" % user_conf_file)
        file_open = open(user_conf_file, "w")
        file_open.write(config_xml_content)
        file_open.close()
    else:
        import xml.etree.ElementTree as ET

        xml_data_conf_tree = ET.parse(user_conf_file)
        xml_data_conf = xml_data_conf_tree.getroot()

        for GUIConfig in xml_data_conf.iter("GUIConfig"):
            if GUIConfig.get("name") == "noUpdate":
                if GUIConfig.text == "no":
                    GUIConfig.text = "yes"
                    print("Updating: %s" % user_conf_file)
                    xml_data_conf_tree.write(user_conf_file)

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

# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
bin_contains = "npp"


def update_package():
    # Declaring local variables
    result = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    if control.architecture == "arm64":
        bin_search = "Installer.arm64.exe"
        bin_name_sub = "npp.%s.Installer.arm64.exe"
    else:
        bin_search = "Installer.exe"
        bin_name_sub = "npp.%s.Installer.exe"
    app_name = control.name
    git_repo = "notepad-plus-plus/notepad-plus-plus"
    url_api = "https://api.github.com/repos/%s/releases/latest" % git_repo

    # Getting latest version information from official sources
    print("API used is: %s" % url_api)
    json_load = json.loads(wgets(url_api, proxies=proxies))
    for download in json_load["assets"]:
        if bin_search in download["name"]:
            url_dl = download["browser_download_url"]
            version = json_load["tag_name"].replace("v", "")
            latest_bin = download["name"]
            break

    print("Latest %s version is: %s" % (app_name, version))
    print("Download URL is: %s" % url_dl)

    # Downloading latest binaries
    if not isfile(latest_bin):
        print("Downloading: %s" % latest_bin)
        wget(url_dl, latest_bin, proxies=proxies)

        # Checking version from file
        version_from_file = get_version_from_binary(latest_bin, "FileVersion")
        if not version_from_file.startswith(version):
            # remove additional .0 at the end of the version from file
            ".".join(get_version_from_binary(latest_bin, "FileVersion").split(".")[:3])
            print("Changing version to the version number of the binary")
            version = version_from_file
            os.rename(latest_bin, bin_name_sub % version)
    # Changing version of the package
    if Version(version) > Version(control.get_software_version()):
        print("Software version updated (from: %s to: %s)" % (control.get_software_version(), Version(version)))
        result = True
    control.version = "%s-%s" % (Version(version), control.version.split("-", 1)[-1])
    # control.set_software_version(Version(version))
    control.save_control_to_wapt()

    # Deleting outdated binaries
    remove_outdated_binaries(version)

    # Validating update-package-sources
    return result

01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
b2f6c05234a36ad4b1ef62d61ede2d1076462b2bb8e17894d457adbf28cc875c : WAPT/control
416085afa2c9d514cd68126bd43084388b210a5f93da147c0a80db1821cf28a2 : WAPT/icon.png
af3260ade1256997a8d70eaa7e0b95996a020c335517da5b4c2de6cc5e7a554d : luti.json
94602d8952f1ba3cab1daf8d791989695e95e46d970a8ce133a2221b6390314c : npp.8.9.6.1.Installer.arm64.exe
098a0a22ed75db0d5f688b05a815b8aebb820f2eec0cfb4d5923e9b6166ceb0f : setup.py
f63d54810635637a3c566c51bfced81cf619c6e755bc463f93231b90273d839b : update_package.py