背景信息:


    • 需要使用sccm来分发输入法,不带广告,好用的拼音输入法,就选google 输入法了。

    • 但是google 输入法很久没有更新了,官网链接也不在了。有链接的只有google 日文输入法

    • google 安装程序是一个exe程序,虽然有静默安装参数,但是会修改主页及搜索引擎为google,但是google 在国内基本无法访问。

需求:


    • 最好有msi 包,方便部署及升级

    • 去掉google 的主页及搜索引擎设置。

如何做?


    • 很久之前使用过advanced installer ,做的很不错的工具,现在发现版本升级了好多个版本,而且功能非常丰富。

    • 提供试用版30天(全功能),只不过生成的文件会在有界面安装时提示是试用版生成的,但是不影响静默安装。

    • 访问下载链接:https://www.advancedinstaller.com/download.html


首先看看advanced installer 的功能菜单,可以说支持很多了,各种installer. 还有java支持,各种插件支持,微软的商店应用,从其他项目比如visual studio 项目、NISI、WIX 项目中导入的功能,还有转换包功能,还支持虚拟化环境,比如app-v,先来大概看看界面。


使用 Advanced Installer 来重新打包分发google IME_第1张图片

由于我要的功能是重新打包,所以来看看Conver 功能。我会使用Repackage Installation 功能来捕获google IME 的安装,以及重新生成msi文件。

使用 Advanced Installer 来重新打包分发google IME_第2张图片

点击create Project, 如果弹出试用是否继续的窗口,点continue ,试用版对于小项目完全足够了,但是如果你经常需要和各种安装程序打交道,可以购买许可。

使用 Advanced Installer 来重新打包分发google IME_第3张图片

选择google IME 的exe 安装文件。

使用 Advanced Installer 来重新打包分发google IME_第4张图片

选择start Local ,这个软件还可以直接生成一个虚拟机,然后在虚拟机中进行捕获,相对来说,这样的环境更为纯净。不过我的系统是用的vagrant 的virtual box 虚拟机,所以我直接用Local 模式。

使用 Advanced Installer 来重新打包分发google IME_第5张图片

选择project 保存位置

使用 Advanced Installer 来重新打包分发google IME_第6张图片

继续会让fix Issue ,点击fix 即可,如果fix不掉,像 Remote Desktpop services,Defender service 之类,我现在倒也看没有太大影响,可以直接ignore

使用 Advanced Installer 来重新打包分发google IME_第7张图片

然后软件开始安装google IME ,并记录安装前Snapshot 和安装后Snapshot

使用 Advanced Installer 来重新打包分发google IME_第8张图片

去掉两个google 的设置(主页和搜索引擎)

使用 Advanced Installer 来重新打包分发google IME_第9张图片

由于设置向导的配置是用户级别的,所以我们不选这个项目。

使用 Advanced Installer 来重新打包分发google IME_第10张图片

点击完成,安装完google IME ,google 还会弹出一个IE的页面出来,关闭掉(这里可能会生成一些涉及到IE的文件和注册表项目,稍后会讲下怎么处理)

使用 Advanced Installer 来重新打包分发google IME_第11张图片

选择MSI,并选择Continue in Advanced Installer

使用 Advanced Installer 来重新打包分发google IME_第12张图片

去掉不相关的文件、注册表、不需要的计划任务、服务等。



使用 Advanced Installer 来重新打包分发google IME_第13张图片

使用 Advanced Installer 来重新打包分发google IME_第14张图片

使用 Advanced Installer 来重新打包分发google IME_第15张图片

然后再review 更改下注册表、文件等等,比如我只保留HKLM下的设置,然后只保留system Control 里面的Keyboard Layouts 项目

使用 Advanced Installer 来重新打包分发google IME_第16张图片

文件确保只有google 相关的文件,其他的文件(比如用户相关的设置、数据类,删除掉)

使用 Advanced Installer 来重新打包分发google IME_第17张图片


现在可以Build 了,生成MSI文件。其实Advaned Installer 还提供了一个在Package Definition –>Deployment --->Launch SCCM  deploy tool ,可以直接连接到SCCM中,去部署文件设置。由于我对SCCM还算比较熟悉,所以我就直接生成MSI文件了。


使用 Advanced Installer 来重新打包分发google IME_第18张图片


对MSI文件进行安装测试。把生成的项目及文件、MSI等,拷贝到虚拟机外的地方,比如共享文件夹,然后把虚拟机中还原到前面的Snapshot,对google pinyin 的MSI包进行安装,看看是否有问题。如果你不回退Snapshot,继续在当前环境测试,记得先卸载google IME.


使用 Advanced Installer 来重新打包分发google IME_第19张图片

使用 Advanced Installer 来重新打包分发google IME_第20张图片

使用 Advanced Installer 来重新打包分发google IME_第21张图片

测试命令行下静默安装


使用 Advanced Installer 来重新打包分发google IME_第22张图片