@@ -121,6 +121,25 @@ fn get_and_extract_nsis(nsis_toolset_path: &Path, _tauri_tools_path: &Path) -> c
121121 Ok ( ( ) )
122122}
123123
124+ fn add_build_number_if_needed ( version_str : & str ) -> anyhow:: Result < String > {
125+ let version = semver:: Version :: parse ( version_str) . context ( "invalid app version" ) ?;
126+ if !version. build . is_empty ( ) {
127+ let build = version. build . parse :: < u64 > ( ) ;
128+ if build. is_ok ( ) {
129+ return Ok ( format ! (
130+ "{}.{}.{}.{}" ,
131+ version. major, version. minor, version. patch, version. build
132+ ) ) ;
133+ } else {
134+ anyhow:: bail!( "optional build metadata in app version must be numeric-only" ) ;
135+ }
136+ }
137+
138+ Ok ( format ! (
139+ "{}.{}.{}.0" ,
140+ version. major, version. minor, version. patch,
141+ ) )
142+ }
124143fn build_nsis_app_installer (
125144 settings : & Settings ,
126145 _nsis_toolset_path : & Path ,
@@ -164,7 +183,9 @@ fn build_nsis_app_installer(
164183 let mut data = BTreeMap :: new ( ) ;
165184
166185 let bundle_id = settings. bundle_identifier ( ) ;
167- let manufacturer = bundle_id. split ( '.' ) . nth ( 1 ) . unwrap_or ( bundle_id) ;
186+ let manufacturer = settings
187+ . publisher ( )
188+ . unwrap_or_else ( || bundle_id. split ( '.' ) . nth ( 1 ) . unwrap_or ( bundle_id) ) ;
168189
169190 #[ cfg( not( target_os = "windows" ) ) ]
170191 {
@@ -177,10 +198,15 @@ fn build_nsis_app_installer(
177198 data. insert ( "bundle_id" , to_json ( bundle_id) ) ;
178199 data. insert ( "manufacturer" , to_json ( manufacturer) ) ;
179200 data. insert ( "product_name" , to_json ( settings. product_name ( ) ) ) ;
201+ data. insert ( "short_description" , to_json ( settings. short_description ( ) ) ) ;
180202 data. insert ( "copyright" , to_json ( settings. copyright_string ( ) ) ) ;
181203
182204 let version = settings. version_string ( ) ;
183205 data. insert ( "version" , to_json ( version) ) ;
206+ data. insert (
207+ "version_with_build" ,
208+ to_json ( add_build_number_if_needed ( version) ?) ,
209+ ) ;
184210
185211 data. insert (
186212 "allow_downgrades" ,
0 commit comments