1

For Linux packages, specifically RPMs with stored checksums, we always can check two things: the contents of package is ok and the installation from this package is ok. When someone modifies parts of the installation he shouldn't, we can see it by running rpm -Vp my-precious-package. In our busyness it is not only recommended, but obligatory to provide our packages with tools for this purpose and for Linux these are just simple bash scripts.

Now I have to do something similar for Windows. Basically what I want is to provide some batch file by running which one can get assured, the installation is the same as it meant to be in the package. I'm using InstallShield for packaging, and yet it has some great visual tools, I still haven't found a way to verify package checksums in the command line.

Is it even possible, or should I reinvent the wheel writing my own checking utils?

4

2 回答 2

2

Windows Installer 有一个称为弹性的功能,它支持产品的自动修复,并且有一些方法可以调用它来进行自我检查。(这是 InstallShield 假设您的意思是基于 Windows Installer 的项目。)

这里有几个链接可以帮助您入门:

信息:Windows 安装程序中的弹性描述

弹性

应用程序弹性:解锁 Windows Installer 的隐藏功能

MsiProvideComponent 函数 (参见 dwInstallMode 标志)

这也假设所有文件都是关键文件。配套文件不由安装程序管理。此外,安装程序之外的自定义操作执行的更改也不受管理。

于 2013-10-16T14:45:56.643 回答
2

在 SDK 中查看来自 Microsoft 的 MakeCat 和 SignTool

http://msdn.microsoft.com/en-us/library/windows/desktop/aa386967%28v=vs.85%29.aspx http://msdn.microsoft.com/en-us/library/windows/desktop /aa387764%28v=vs.85%29.aspx

于 2013-10-16T10:30:48.527 回答