Răsfoiți Sursa

fix(nsis): esitmated size unit (#10086)

* Fix nsis esitmated size unit

* Add change file
Tony 1 an în urmă
părinte
comite
58821fc0e5

+ 5 - 0
.changes/nsis-esitimated-size-unit.md

@@ -0,0 +1,5 @@
+---
+"tauri-bundler": "patch:bug"
+---
+
+Fix NSIS esitmated size unit being in kB (1000 bytes) not KB (1024 bytes)

+ 10 - 11
tooling/bundler/src/bundle/windows/nsis.rs

@@ -661,21 +661,20 @@ fn generate_binaries_data(settings: &Settings) -> crate::Result<BinariesMap> {
 }
 }
 
 
 fn generate_estimated_size(
 fn generate_estimated_size(
-  main: &Path,
+  main: &PathBuf,
   binaries: &BinariesMap,
   binaries: &BinariesMap,
   resources: &ResourcesMap,
   resources: &ResourcesMap,
 ) -> crate::Result<String> {
 ) -> crate::Result<String> {
-  use std::fs::metadata;
-
-  let mut size = metadata(main)?.len();
-
-  for k in binaries.keys().chain(resources.keys()) {
-    size += metadata(k)?.len();
+  let mut size = 0;
+  for k in std::iter::once(main)
+    .chain(binaries.keys())
+    .chain(resources.keys())
+  {
+    size += std::fs::metadata(k)
+      .with_context(|| format!("when getting size of {}", main.display()))?
+      .len();
   }
   }
-
-  size /= 1000;
-
-  Ok(format!("{size:#08x}"))
+  Ok(format!("{:#08x}", size / 1024))
 }
 }
 
 
 fn get_lang_data(lang: &str) -> Option<(String, &[u8])> {
 fn get_lang_data(lang: &str) -> Option<(String, &[u8])> {