sla*_*r69 1 c c++ windows-installer custom-action wix
我想保护 MSI 文件不被修改。使用 ORCA 或 MSI API 可以轻松完成。很难过,因为任何人都可以修改/添加/删除具有管理员权限的 Windows 安装程序自定义操作或属性。
有没有办法将 MSI 文件设置为某种只读模式或以某种方式保护其内容?
简短回答:你不能真正保护它,你也不应该,下面试图解释为什么。但是,您可以使用数字证书对 MSI 进行签名,以确保文件在传输给客户的过程中不会发生变化,从而保护文件完整性并提高安全性。
透明度:MSI 文件之所以透明是有原因的——企业应用程序打包者希望能够修改包以符合企业标准。这种透明度实际上是 MSI 的核心优势。因此,我不会努力保护 MSI。编译的自定义操作仍然是“黑匣子”(不可检查,但可以禁用)。
文档和注释:如果您的 MSI 具有重要的自定义操作,您可以在 MSI 中使用“内嵌”注释或指定给自定义操作的名称来指明这一点。您还可以提供一页 PDF 文件(称为它Large Scale Deployment Guide.pdf?)以及您的设置,在其中描述如何最好地部署您的应用程序 - 至关重要的是不要使用 MSI 做什么。我更喜欢将这个文档嵌入到 MSI 中,这样它就会出现一个管理安装- 这是 MSI 的文件提取机制 - 供打包者查看。企业打包商通常做的第一件事是使用管理员安装从 MSI 中提取文件。
数字签名:如已被别人提到一个数字签名(从高级安装细节,从细节的Installshield)有助于确保MSI是在交付给客户不变。这显然在安全方面非常重要。对于SmartScreen(基于信誉的安全性 - EV 代码签名证书 “购买信任” - 有趣的概念?谁闻到了球拍的味道?:-))等新功能的问题更是如此。确保您的设置没有恶意软件,或者数字证书可以证明您传送了恶意软件(直到它也可以被破解)。并谈到....嗯。
恶意软件检测:请记住,处理误报也是必要的。带有文件上传功能的在线工具非常适合对此进行测试。适用文件大小上传限制。只是几个链接:
如所述的工具进程浏览器从Sysinternals的也使得有可能通过运行应用程序,然后选择到扫描恶意软件的过程。视频教程在这里(我没有看太多,对讨论的其他产品不熟悉)。.Options => VirusTotal.com => Check VirusTotal.comUse this method to save your application from false-positive nightmares (and also for real malware infections of course)
应用程序启动:如果您确实需要运行某些东西,您可以将其添加到您的应用程序启动序列而不是您的设置中。如果您不需要管理员权限,这绝对有效。如果您需要向 HKLM 写一些东西,您可以在那里为普通用户打开 ACL 写访问 - 根本不理想,但可能。应用程序启动代码更容易处理。更容易调试,没有模拟、排序和条件问题(当动作运行时),就像在设置中一样。
旧版 Setup.exe:如果您坚持在设置中执行“秘密操作”,那么您可以使用旧版工具来制作常规 setup.exe(而不是 MSI)。请注意,随着安全扫描和恶意软件检测的加强,您的设置可能更容易出现恶意软件检测误报的问题。销售软件道路上的一个非常严重的障碍。对于真正的恶意软件,您告诉客户重建 PC,如果出现误报,您必须采取措施解决问题。企业接受度还可能取决于 MSI 格式或其他可检查格式(“这是我们的标准”。而且您应该知道,企业设置中的捕获工具将看到设置在将其转换为 MSI(或当今的其他格式,例如 AppV 和 MSIX)时详细执行的操作。
还有一个问题:跨平台安装程序。
| 归档时间: |
|
| 查看次数: |
569 次 |
| 最近记录: |