KMM Windows MSI构建缺失开始菜单选项,如何配置build.gradle?
在KMM Compose Desktop构建中添加Windows开始菜单条目
我正在构建基于JVM目标与Compose UI的Kotlin KMM应用。针对Windows平台,TargetFormat.exe和TargetFormat.Msi生成的安装程序均未包含添加开始菜单条目选项,用户需手动在Program Files文件夹中查找应用exe,体验不佳。该构建基于jpackage工具,其提供了如--win-menu等添加开始菜单条目的选项,但KMM目标默认未启用。
我的问题是:如何在build.gradle中添加这些选项?遗憾的是KMM构建系统文档仍不完善。
以下是build.gradle片段:
compose.desktop { application { mainClass = "MainKt" nativeDistributions { targetFormats(TargetFormat.Dmg, TargetFormat.Msi) packageName = "..." packageVersion = "..." description = "..." copyright = "..." vendor = "..." macOS { iconFile.set(project.file("app_icon.icns")) } windows { iconFile.set(project.file("app_icon.png")) } linux { iconFile.set(project.file("app_icon.png")) } } } }
解决方案
要启用开始菜单条目,只需在windows配置块中通过jpackageExtraArgs传递jpackage的相关参数:
compose.desktop { application { mainClass = "MainKt" nativeDistributions { targetFormats(TargetFormat.Dmg, TargetFormat.Msi) packageName = "..." packageVersion = "..." description = "..." copyright = "..." vendor = "..." macOS { iconFile.set(project.file("app_icon.icns")) } windows { iconFile.set(project.file("app_icon.png")) // 添加jpackage参数启用开始菜单条目 jpackageExtraArgs("--win-menu", "--win-menu-group=你的应用分组名称") } linux { iconFile.set(project.file("app_icon.png")) } } } }
--win-menu:强制jpackage为应用创建开始菜单快捷方式--win-menu-group(可选):指定快捷方式所在的开始菜单分组名称,省略则会使用默认分组
修改后重新构建,生成的MSI和EXE安装程序就会自动在开始菜单中添加应用快捷方式,无需用户手动查找。
内容的提问来源于stack exchange,提问作者joe1806772
相关产品推荐
相关产品推荐

