最小化MarkdownPad 2安装体积(win10)
一、原因
MarkdownPad2在Win10当中可能无法正常运行,右侧预览界面会出现错误“This view has crashed!”查阅官网FAQ得知大多数情况下安装Awesomium 1.6.6 SDK(可能有更新的SDK版本)可解决该问题。但该SDK安装大小高达186MB,远超过MarkdownPad2的体积(约36.1MB)。由于不进行Awesomium的相关开发,所以希望能通过删除MarkdownPad2不用的文件以减小体积。
最终解决方案见文末
二、分析过程
0.安装SDK
经过多次尝试,在安装SDK时依次选择覆盖安装、自定义,在功能面板中仅勾选“.NET Framework 4.0 Client Profile”,不勾选“Awesomium SDK Samples”、“Awesomium.NET Samples”和“Redistribution Modules”时得到的体积最小
1.删除部分文件、文件夹
安装的SDK目录结构如下:
C:\PROGRAM FILES (X86)\KHRONA LLC
└─Awesomium SDK
└─1.6.6
├─build
│ ├─bin
│ │ ├─debug
│ │ │ └─locales
│ │ ├─release
│ │ │ └─locales
│ │ └─release_packed
│ └─lib
│ ├─debug
│ └─release
├─include
│ └─Awesomium
├─logos
├─readme
└─wrappers
└─Awesomium.NET
├─Assemblies
│ └─Packed
├─Mono
│ ├─2.0
│ └─4.0
├─Windows Forms Demo
└─WPF Demo
猜测当中的logos、readme、include、XX Demo文件夹可以删除
*.txt、*.rtf、*.chm以及所有图像文件都可以删除
删除这些内容后MarkdownPad2正常运行,猜想正确
2.删除全部文件夹
突发奇想,如果删除整个Khrona LLC会如何
经测试,删除后不影响正常使用,可行
缺点:由于缺少部分卸载用程序,导致整个SDK无法从控制面板中卸载
3.寻找卸载程序,并删除除此之外的全部文件
逐步深入SDK路径,最先遇到的可执行程序路径如下:
C:\PROGRAM FILES (X86)\KHRONA LLC
└─Awesomium SDK
│ updater.exe
│ updater.ini
……
保留updater.exe、updater.ini后整个SDK可以从控制面板中卸载
4.用火绒剑直接分析MarkdownPad2所需文件
使用火绒安全中的火绒剑(可用其他分析软件)对MarkdownPad2进行分析,发现其运行过程中用到了以下文件
C:\Windows\Microsoft.NET\assembly\GAC_32\Awesomium.Core\v4.0_1.6.6.0__e1a0d7c8071a5214\Awesomium.dll
C:\Windows\Microsoft.NET\assembly\GAC_32\Awesomium.Core\v4.0_1.6.6.0__e1a0d7c8071a5214\AwesomiumProcess
尝试删除文件,发现两者都为MarkdownPad2必须文件
遂进一步分析
C:\Windows\Microsoft.NET\assembly\GAC_32\Awesomium.Core\v4.0_1.6.6.0__e1a0d7c8071a5214\ 文件夹,发现删除当中的任一文件都会导致MarkdownPad2无法启动
后尝试将文件夹当中的所有文件复制到MarkdownPad2的安装目录中,发现MarkdownPad2安装目录当中已有这些文件
由此猜测win10当中MarkdownPad2相关组件未被注册,导致软件无法正常运行,而win7当中无需注册MarkdownPad2相关组件
三、最终解决方案
1.安装SDK:依次选择覆盖安装、自定义,在功能面板中仅勾选“.NET Framework 4.0 Client Profile”,不勾选“Awesomium SDK Samples”、“Awesomium.NET Samples”和“Redistribution Modules”
2.删除文件:删除C:\Program Files (x86)\Khrona LLC\Awesomium SDK下除updater.exe、updater.ini以外的全部文件
按照此方法可省出185MB空间
2019.06.28