Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net core 减少WIX MSI安装程序大小_.net Core_Wix_Windows Services_Windows Installer - Fatal编程技术网

.net core 减少WIX MSI安装程序大小

.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压缩并没有比“高”更好

我有一个.net核心(工作者服务)应用程序,并使用Wix安装程序创建了它的msi。目前msi的大小是26MB。我需要将msi大小尽可能减小,以便从web应用程序下载。我试过了
但是我只减少了4MB的msi(msi大小:22MB)。还有其他解决方案吗


还尝试通过主项目的“依赖框架”发布。因此,msi大小减小到600 KB。但显示安装时启动服务的用户权限问题。更改为“自包含”发布时,msi大小为26 MB,安装成功。那么,如何在使用“依赖于框架”的部署时避免这个问题呢?

CAB压缩并没有比“高”更好。多年来,压缩技术有了很大的改进,但Windows Installer所依赖的cabinet.dll却没有

NET框架本身实际上是将文件解压缩,然后对整个安装过程进行7-zip压缩。为此,

  • 定义一个未设置压缩属性的
    媒体
    元素
  • 设置
    Package/@Compressed=“no”
  • 产品建成后,您可以使用7-zip压缩所有内容,并获得更好的压缩效果

  • 如果它太大,你可以考虑在.NETCype的共享安装上运行你的应用程序,并使用Buy来链接你想要的.Net核心版本。有了正确的检测逻辑,.NET Core的软件包即使已经安装,也不会被下载,而您将其作为一个单独的软件包(即,不要将所有软件包嵌入安装程序;将它们作为松散文件从某个端点下载)。

    CAB压缩没有比“高”更好的效果。多年来,压缩技术有了很大的改进,但Windows Installer所依赖的cabinet.dll却没有

    NET框架本身实际上是将文件解压缩,然后对整个安装过程进行7-zip压缩。为此,

  • 定义一个未设置压缩属性的
    媒体
    元素
  • 设置
    Package/@Compressed=“no”
  • 产品建成后,您可以使用7-zip压缩所有内容,并获得更好的压缩效果

  • 如果它太大,你可以考虑在.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的用途。