.net core 减少WIX MSI安装程序大小
我有一个.net核心(工作者服务)应用程序,并使用Wix安装程序创建了它的msi。目前msi的大小是26MB。我需要将msi大小尽可能减小,以便从web应用程序下载。我试过了.net core 减少WIX MSI安装程序大小,.net-core,wix,windows-services,windows-installer,.net Core,Wix,Windows Services,Windows Installer,我有一个.net核心(工作者服务)应用程序,并使用Wix安装程序创建了它的msi。目前msi的大小是26MB。我需要将msi大小尽可能减小,以便从web应用程序下载。我试过了 但是我只减少了4MB的msi(msi大小:22MB)。还有其他解决方案吗 还尝试通过主项目的“依赖框架”发布。因此,msi大小减小到600 KB。但显示安装时启动服务的用户权限问题。更改为“自包含”发布时,msi大小为26 MB,安装成功。那么,如何在使用“依赖于框架”的部署时避免这个问题呢?CAB压缩并没有比“高”更好
但是我只减少了4MB的msi(msi大小:22MB)。还有其他解决方案吗
还尝试通过主项目的“依赖框架”发布。因此,msi大小减小到600 KB。但显示安装时启动服务的用户权限问题。更改为“自包含”发布时,msi大小为26 MB,安装成功。那么,如何在使用“依赖于框架”的部署时避免这个问题呢?CAB压缩并没有比“高”更好。多年来,压缩技术有了很大的改进,但Windows Installer所依赖的cabinet.dll却没有 NET框架本身实际上是将文件解压缩,然后对整个安装过程进行7-zip压缩。为此,
媒体元素
Package/@Compressed=“no”
如果它太大,你可以考虑在.NETCype的共享安装上运行你的应用程序,并使用Buy来链接你想要的.Net核心版本。有了正确的检测逻辑,.NET Core的软件包即使已经安装,也不会被下载,而您将其作为一个单独的软件包(即,不要将所有软件包嵌入安装程序;将它们作为松散文件从某个端点下载)。
CAB压缩没有比“高”更好的效果。多年来,压缩技术有了很大的改进,但Windows Installer所依赖的cabinet.dll却没有 NET框架本身实际上是将文件解压缩,然后对整个安装过程进行7-zip压缩。为此,媒体元素
Package/@Compressed=“no”
如果它太大,你可以考虑在.NETCype的共享安装上运行你的应用程序,并使用Buy来链接你想要的.Net核心版本。有了正确的检测逻辑,.NET Core的软件包即使已经安装,也不会被下载,如果您将其作为一个单独的软件包(即,不要将所有软件包嵌入到安装程序中;将它们作为松散的文件从某个端点下载)。
我想首先想到的问题是您在MSI中包含了什么?它是MSI还是Burn bundle setup.exe?(我还没有使用.NETCore)。除了1)
压缩
您通常也可以2)
将一些资源文件联机
(图像、模板,任何您需要的)如果需要,您还可以3)
通过setup.exe下载某些运行时。.尝试使用7-zip压缩安装程序计划部署的文件。如果结果明显更好,您可以让MSI部署一个.7z文件并将其解压缩。对于压缩专家:。不确定7-zip使用什么,但MSI文件中最高级别的压缩似乎使用LZX压缩(基于LZ77的压缩技术使用静态哈夫曼编码)。还没有检查Burn Bundle使用了什么。我想首先想到的问题是MSI中包含了什么?它是MSI还是Burn bundle setup.exe?(我还没有使用.NETCore)。除了1)
压缩
您通常也可以2)
将一些资源文件联机
(图像、模板,任何您需要的)如果需要,您还可以3)
通过setup.exe下载某些运行时。.尝试使用7-zip压缩安装程序计划部署的文件。如果结果明显更好,您可以让MSI部署一个.7z文件并将其解压缩。对于压缩专家:。不确定7-zip使用什么,但MSI文件中最高级别的压缩似乎使用LZX压缩(基于LZ77的压缩技术使用静态哈夫曼编码)。还没有检查Burn bundles的用途。