最小化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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· Qt个人项目总结 —— MySQL数据库查询与断言