一、原因

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

最小化MarkdownPad 2安装体积(win10)的更多相关文章

  1. RHEL6 最小化系统 编译安装部署zabbix (mysql)

    RHEL6 最小化系统 编译安装部署zabbix (mysql)官方说明详细见:https://www.zabbix.com/documentation/4.0/manual/installation ...

  2. CentOS7.6最小化纯净版安装xfce桌面

    安装Xfce桌面环境 yum groupinstall "X Window system" yum install epel-release yum groupinstall xf ...

  3. vim可视化&Linux系统安全最小化原则& su & sudo

    一.vim在可视化模式下编辑 crl+v,会变成-- VISUAL BLOCK --,然后用上下左右键去选中. 多行注释: ESC进入命令行模式; Ctrl+v进入VISUAL BLOCK模式 上下左 ...

  4. 最小化安装的centos7.5上编译安装git2.19

    VMware Workstation已经采用最小化安装CentOS7,显示版本为CentOS7.5,准备采用yum安装git. 采用yum list git发现可安装的GIT软件包版本1.8.3.1, ...

  5. RedHat7.4最小化安装没有ifconfig命令

    软件环境 VirtualBox 5.2.8 rhel-server-7.4-x86_64-dvd.iso 系统环境 Win10 64 位 8G内存 最小化安装了RedHat7.4之后,进入系统之后使用 ...

  6. ArchLinux最小化安装 必备库 常用命令

    铸成强大的工作站环境——ArchLinux最小化安装 所有问题归结起来,只是一个问题:ArchLinux最小化安装,需要安装哪些包? 1.bash//最基本的Bash Shell(必须)2.bzip2 ...

  7. centos7 最小化安装没有ifconfig及修改网卡名enoxxx为ethX

    问题: 1.最小化安装centos7后发现无ifconfig命令 想通过ifconfig查看ip地址发现ifconfig命令不存在,可通过命令 #ip addr       //查看ip 或者 解决: ...

  8. centos 6.X minimal 系列最小化安装完成后,安装mono和jexus过程小记录

    在使用虚拟机安装minimal版centos运行mono+jexus的时候,遇到了一些坑,记录一下,比如虚拟机访问不了网络,没wget命令没开放80端口,等等小问题,其他网上教程已经有mono+jex ...

  9. 生产服务器环境最小化安装后 Centos 6.5优化配置[转]

    内容目录 centos6.5最小化安装后配置网络: IP地址, 网关, 主机名, DNS 更新系统源并且升级系统 系统时间更新和设定定时任 创建普通用户并进行sudo授权管理 修改SSH端口号和屏蔽r ...

随机推荐

  1. Linux(三)

    1.用户与用户组        Linux系统是一个多用户.多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员(root)申请一个账号,然后以这个账号的身份进入系统.       ...

  2. 数据结构学习--单循环链表(python)

    概念 将单链表的终端节点的指针由原来的空指针改为指向头节点, 就是整个单链表形成一个环, 这种首尾相接的单链表称为单循环链表. 实现 class Node: """ 节点 ...

  3. 从0系统学Android--3.2四种基本布局

    从0系统学Android--3.2四种基本布局 本系列文章目录:更多精品文章分类 本系列持续更新中.... 3.3 系统控件不够用?创建自定义控件 上一节我们学习了 Android 中的一些常用的控件 ...

  4. Windows和linux下的端口转发

    利用VPN,实现无公网IP或内网服务器的服务 @@@code netsh interface portproxy add v4tov4 listenport=8887 connectaddress=1 ...

  5. 请求*.html后缀无法返回json数据的问题

    在springmvc中请求*.html不可以返回json数据. 修改web.xml,添加url拦截格式.

  6. Linux系统学习 十五、VSFTP服务—匿名用户访问(不推荐使用,不安全)

    匿名用户访问 基本配置: anonymous_enable          #允许匿名用户访问 anon_upload_enable       #允许匿名用户上传 anon_mkdir_write ...

  7. picoCTF2018记录

    近期准备参加CTF 一头雾水 开始练练手 https://2018game.picoctf.com/  这个网站挺适合新手的(据说面向高中生?? 惭愧惭愧) 前面几个比较简单 就从 Resources ...

  8. BOM的初级理解

    1.什么是BOM,BOm有什么作用? BOM和DOM.ES是JavaScript的重要三个组成部分: 其中BOM是专门操作浏览器的API,其实他就是一种兼容性问题,这其中问题比较大就是IE浏览器,谁叫 ...

  9. idea 出现Can't load AMD 64-bit .dll on a IA 32-bit platform错误

    这个错误是在说无法在IA 32位平台上加载AMD 64位.dll,解决方法如下 下载安装64位的jdk(方法和安装32位的一致,可百度查阅相关资料) 按如下步骤配置

  10. IT兄弟连 HTML5教程 HTML5表单 多样的输入类型1

    HTML5拥有多个新的表单输入类型,这些新特性提供了更好的输入控制和验证.并不是所有的主浏览器都支持新的input类型,不过我们可以在所有的主浏览器中使用它们,即使不被支持,仍然可以显示为常规的文本域 ...