Skip to content

[bug] The installation package with multi-language support generated by NSIS may display the wrong language for some checkbox options. #13041

@Aostas

Description

@Aostas

Describe the bug

The installation package with multi-language support generated by NSIS may display the wrong language for some checkbox options.

install
Image

uninstall
Image

Reproduction

Here is the bundle config in tauri.conf.json

  "bundle": {
    "active": true,
    "targets": "nsis",
    "windows": {
      "webviewInstallMode": {
        "silent": false,
        "type": "embedBootstrapper"
      },
      "nsis": {
        "languages": [
          "SimpChinese",
          "English",
          "SpanishInternational"
        ],
        "displayLanguageSelector": true
      }
    },
    "icon": [
      "icons/32x32.png",
      "icons/128x128.png",
      "icons/128x128@2x.png",
      "icons/icon.icns",
      "icons/icon.ico"
    ]
  }

Expected behavior

No response

Full tauri info output

yarn run v1.22.19
$ tauri info
        Info GET https://docs.rs/crate/tauri/
        Info Request { method: GET, uri: https://docs.rs/crate/tauri/, version: HTTP/1.1, headers: {"accept-encoding": "gzip", "user-agent": "ureq/3.0.2", "accept": "*/*", "host": "docs.rs"} }
        Info Response { status: 308, version: HTTP/1.1, headers: {"content-length": "0", "connection": "keep-alive", "server": "nginx/1.14.0 (Ubuntu)", "date": "Fri, 21 Mar 2025 09:54:04 GMT", "location": "/crate/tauri", "<NOTICE>": "7 HEADERS ARE REDACTED"} }
        Info Redirect (308 Permanent Redirect): GET https://docs.rs/crate/tauri
        Info GET https://docs.rs/crate/tauri
        Info Request { method: GET, uri: https://docs.rs/crate/tauri, version: HTTP/1.1, headers: {"accept-encoding": "gzip", "user-agent": "ureq/3.0.2", "accept": "*/*", "host": "docs.rs"} }
        Info Response { status: 302, version: HTTP/1.1, headers: {"content-length": "0", "connection": "keep-alive", "server": "nginx/1.14.0 (Ubuntu)", "date": "Thu, 20 Mar 2025 21:10:22 GMT", "location": "/crate/tauri/latest", "<NOTICE>": "7 HEADERS ARE REDACTED"} }
        Info Redirect (302 Found): GET https://docs.rs/crate/tauri/latest
        Info GET https://docs.rs/crate/tauri/latest
        Info Request { method: GET, uri: https://docs.rs/crate/tauri/latest, version: HTTP/1.1, headers: {"accept-encoding": "gzip", "user-agent": "ureq/3.0.2", "accept": "*/*", "host": "docs.rs"} }
        Info Response { status: 200, version: HTTP/1.1, headers: {"content-type": "text/html; charset=utf-8", "content-length": "107660", "connection": "keep-alive", "server": "nginx/1.14.0 (Ubuntu)", "date": "Thu, 20 Mar 2025 21:10:22 GMT", "<NOTICE>": "8 HEADERS ARE REDACTED"} }
        Info GET https://docs.rs/crate/tauri-build/
        Info Request { method: GET, uri: https://docs.rs/crate/tauri-build/, version: HTTP/1.1, headers: {"accept-encoding": "gzip", "user-agent": "ureq/3.0.2", "accept": "*/*", "host": "docs.rs"} }
        Info Response { status: 308, version: HTTP/1.1, headers: {"content-length": "0", "connection": "keep-alive", "server": "nginx/1.14.0 (Ubuntu)", "date": "Fri, 21 Mar 2025 09:54:04 GMT", "location": "/crate/tauri-build", "<NOTICE>": "7 HEADERS ARE REDACTED"} }
        Info Redirect (308 Permanent Redirect): GET https://docs.rs/crate/tauri-build
        Info GET https://docs.rs/crate/tauri-build
        Info Request { method: GET, uri: https://docs.rs/crate/tauri-build, version: HTTP/1.1, headers: {"accept-encoding": "gzip", "user-agent": "ureq/3.0.2", "accept": "*/*", "host": "docs.rs"} }
        Info Response { status: 302, version: HTTP/1.1, headers: {"content-length": "0", "connection": "keep-alive", "server": "nginx/1.14.0 (Ubuntu)", "date": "Thu, 20 Mar 2025 21:10:23 GMT", "location": "/crate/tauri-build/latest", "<NOTICE>": "7 HEADERS ARE REDACTED"} }
        Info Redirect (302 Found): GET https://docs.rs/crate/tauri-build/latest
        Info GET https://docs.rs/crate/tauri-build/latest
        Info Request { method: GET, uri: https://docs.rs/crate/tauri-build/latest, version: HTTP/1.1, headers: {"accept-encoding": "gzip", "user-agent": "ureq/3.0.2", "accept": "*/*", "host": "docs.rs"} }
        Info Response { status: 200, version: HTTP/1.1, headers: {"content-type": "text/html; charset=utf-8", "content-length": "58903", "connection": "keep-alive", "server": "nginx/1.14.0 (Ubuntu)", "date": "Thu, 20 Mar 2025 21:10:23 GMT", "<NOTICE>": "8 HEADERS ARE REDACTED"} }
        Info GET https://docs.rs/crate/wry/
        Info Request { method: GET, uri: https://docs.rs/crate/wry/, version: HTTP/1.1, headers: {"accept-encoding": "gzip", "user-agent": "ureq/3.0.2", "accept": "*/*", "host": "docs.rs"} }
        Info Response { status: 308, version: HTTP/1.1, headers: {"content-length": "0", "connection": "keep-alive", "server": "nginx/1.14.0 (Ubuntu)", "date": "Fri, 21 Mar 2025 09:54:05 GMT", "location": "/crate/wry", "<NOTICE>": "7 HEADERS ARE REDACTED"} }
        Info Redirect (308 Permanent Redirect): GET https://docs.rs/crate/wry
        Info GET https://docs.rs/crate/wry
        Info Request { method: GET, uri: https://docs.rs/crate/wry, version: HTTP/1.1, headers: {"accept-encoding": "gzip", "user-agent": "ureq/3.0.2", "accept": "*/*", "host": "docs.rs"} }
        Info Response { status: 302, version: HTTP/1.1, headers: {"content-length": "0", "connection": "keep-alive", "server": "nginx/1.14.0 (Ubuntu)", "date": "Thu, 20 Mar 2025 15:08:07 GMT", "location": "/crate/wry/latest", "<NOTICE>": "7 HEADERS ARE REDACTED"} }
        Info Redirect (302 Found): GET https://docs.rs/crate/wry/latest
        Info GET https://docs.rs/crate/wry/latest
        Info Request { method: GET, uri: https://docs.rs/crate/wry/latest, version: HTTP/1.1, headers: {"accept-encoding": "gzip", "user-agent": "ureq/3.0.2", "accept": "*/*", "host": "docs.rs"} }
        Info Response { status: 200, version: HTTP/1.1, headers: {"content-type": "text/html; charset=utf-8", "content-length": "171724", "connection": "keep-alive", "server": "nginx/1.14.0 (Ubuntu)", "date": "Thu, 20 Mar 2025 15:08:08 GMT", "<NOTICE>": "8 HEADERS ARE REDACTED"} }
        Info GET https://docs.rs/crate/tao/
        Info Request { method: GET, uri: https://docs.rs/crate/tao/, version: HTTP/1.1, headers: {"accept-encoding": "gzip", "user-agent": "ureq/3.0.2", "accept": "*/*", "host": "docs.rs"} }
        Info Response { status: 308, version: HTTP/1.1, headers: {"content-length": "0", "connection": "keep-alive", "server": "nginx/1.14.0 (Ubuntu)", "date": "Fri, 21 Mar 2025 09:54:06 GMT", "location": "/crate/tao", "<NOTICE>": "7 HEADERS ARE REDACTED"} }
        Info Redirect (308 Permanent Redirect): GET https://docs.rs/crate/tao
        Info GET https://docs.rs/crate/tao
        Info Request { method: GET, uri: https://docs.rs/crate/tao, version: HTTP/1.1, headers: {"accept-encoding": "gzip", "user-agent": "ureq/3.0.2", "accept": "*/*", "host": "docs.rs"} }
        Info Response { status: 302, version: HTTP/1.1, headers: {"content-length": "0", "connection": "keep-alive", "server": "nginx/1.14.0 (Ubuntu)", "date": "Thu, 20 Mar 2025 12:36:19 GMT", "location": "/crate/tao/latest", "<NOTICE>": "7 HEADERS ARE REDACTED"} }
 "gzip", "user-agent": "ureq/3.0.2", "accept": "*/*", "host": "docs.rs"} }
        Info Response { status: 200, version: HTTP/1.1, headers: {"content-type": "text/html; charset=utf-8", "content-length": "72823", "connection": "keep-alive", "server": "nginx/1.14.0 (Ubuntu)", "date": "Thu, 20 Mar 2025 12:36:20 GMT", "<NOTICE>": "8 HEADERS ARE REDACTED"} }
        Info GET https://docs.rs/crate/tauri-plugin-opener/
        Info Request { method: GET, uri: https://docs.rs/crate/tauri-plugin-opener/, version: HTTP/1.1, headers: {"accept-encoding": "gzip", "user-agent": "ureq/3.0.2", "accept": "*/*", "host": "docs.rs"} }
        Info Response { status: 308, version: HTTP/1.1, headers: {"content-length": "0", "connection": "keep-alive", "server": "nginx/1.14.0 (Ubuntu)", "date": "Fri, 21 Mar 2025 09:54:07 GMT", "location": "/crate/tauri-plugin-opener", "<NOTICE>": "7 HEADERS ARE REDACTED"} }
        Info Redirect (308 Permanent Redirect): GET https://docs.rs/crate/tauri-plugin-opener
        Info GET https://docs.rs/crate/tauri-plugin-opener
        Info Request { method: GET, uri: https://docs.rs/crate/tauri-plugin-opener, version: HTTP/1.1, headers: {"accept-encoding": "gzip", "user-agent": "ureq/3.0.2", "accept": "*/*", "host": "docs.rs"} }
        Info Response { status: 302, version: HTTP/1.1, headers: {"content-length": "0", "connection": "keep-alive", "server": "nginx/1.14.0 (Ubuntu)", "date": "Thu, 20 Mar 2025 21:10:24 GMT", "location": "/crate/tauri-plugin-opener/latest", "<NOTICE>": "7 HEADERS ARE REDACTED"} }
        Info Redirect (302 Found): GET https://docs.rs/crate/tauri-plugin-opener/latest
        Info GET https://docs.rs/crate/tauri-plugin-opener/latest
        Info Request { method: GET, uri: https://docs.rs/crate/tauri-plugin-opener/latest, version: HTTP/1.1, headers: {"accept-encoding": "gzip", "user-agent": "ureq/3.0.2", "accept": "*/*", "host": "docs.rs"} }
        Info Response { status: 200, version: HTTP/1.1, headers: {"content-type": "text/html; charset=utf-8", "content-length": "58389", "connection": "keep-alive", "server": "nginx/1.14.0 (Ubuntu)", "date": "Thu, 20 Mar 2025 21:10:24 GMT", "<NOTICE>": "8 HEADERS ARE REDACTED"} }

[✔] Environment
    - OS: Windows 10.0.26100 x86_64 (X64)
    ✔ WebView2: 134.0.3124.72
    ✔ MSVC: Visual Studio Community 2022
    ✔ rustc: 1.82.0 (f6e511eec 2024-10-15)
    ✔ cargo: 1.82.0 (8f40fc59f 2024-08-21)
    ✔ rustup: 1.27.1 (54dd3d00f 2024-04-24)
    ✔ Rust toolchain: stable-x86_64-pc-windows-msvc (default)
    - node: 20.17.0
    - yarn: 1.22.19
    - npm: 10.8.2

[-] Packages
    - tauri 🦀: 2.4.0
    - tauri-build 🦀: 2.1.0
    - wry 🦀: 0.50.5
    - tao 🦀: 0.32.8
    - @tauri-apps/api : 2.4.0
    - @tauri-apps/cli : 2.4.0

[-] Plugins
    - tauri-plugin-opener 🦀: 2.2.6
    - @tauri-apps/plugin-opener : 2.2.6

[-] App
    - build-type: bundle
    - CSP: unset
    - frontendDist: ../dist
    - devUrl: http://localhost:1420/
    - framework: Vue.js
    - bundler: Vite
Done in 10.61s.

Stack trace


Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions