在Wix中使用DTF编写的有趣的自定义操作
当我使用install提供产品密钥验证时,出现了一个具有挑战性的情况。我不得不使用。实际上,我们用C#编写了主要的验证逻辑,我必须创建一个混合项目。问题不仅止于这些,而且还在继续。因为我使用了VC++代码,所以它希望至少在客户机中安装VC++运行时可再发行。由于这些问题,我想放弃将安装迁移到Wix的计划 但是我知道Wix中有一个很好很酷的特性,可以在C#中集成任何类型的动作。我使用了它,可以在几个小时内集成密钥验证,到目前为止,它在我在6个月前实现的所有客户机上都运行良好 您对DTF有任何有趣的时刻或良好的体验吗?首先,C#/DTF自定义操作仍然是自定义操作(这里没有魔术:-),因此您也应该遵循所有CA指南来处理此类操作。它通过在高级精心设计的类后面抽象低级API,简化了大多数MSI任务。另外,请记住,只有在目标计算机安装了.NET(或作为先决条件安装)的情况下,才能使用托管代码CA。最后,随WiX工具集一起分发的dtf.chm文档有一些简单但自解释的示例在Wix中使用DTF编写的有趣的自定义操作,wix,dtf,Wix,Dtf,当我使用install提供产品密钥验证时,出现了一个具有挑战性的情况。我不得不使用。实际上,我们用C#编写了主要的验证逻辑,我必须创建一个混合项目。问题不仅止于这些,而且还在继续。因为我使用了VC++代码,所以它希望至少在客户机中安装VC++运行时可再发行。由于这些问题,我想放弃将安装迁移到Wix的计划 但是我知道Wix中有一个很好很酷的特性,可以在C#中集成任何类型的动作。我使用了它,可以在几个小时内集成密钥验证,到目前为止,它在我在6个月前实现的所有客户机上都运行良好 您对DTF有任何有趣的
希望这能有所帮助。我已经编写了几个.NET CA来支持我们基于WiX的安装:
在我的日常工作中,任何认为他们需要CA的人都需要我的批准。我指导开发人员基本的MSI哲学,如何使用DTF,如何附加调试器,并且我清楚地表明,如果它有任何问题,他们将处于困境。结果是我们的产品线中只有很少但写得很好的CAs。Yan,感谢您的回复。我完全同意你的观点。我关心的是如何处理自定义操作的非托管代码,DTF将其替换为托管代码,并提供了非常灵活的选项,如您所提到的,比如设计良好的类。当然,我们需要在机器上安装.NET,但是现在大多数windows操作系统默认都有.NET运行时,安装VCRuntime redistributable不成问题。我发布这个问题是为了与大家分享,如果他们在安装过程中遇到任何具有挑战性的操作,以及他们是否会使用DTF解决问题。+1提及WiX工具集Installer附带的DTF文档第4点:您知道Wix3.5将在不需要IIS 6元数据库的情况下正确支持IIS 7吗兼容性?