首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DTF正在复制自定义操作dll文件。

DTF正在复制自定义操作dll文件。
EN

Stack Overflow用户
提问于 2014-08-29 15:06:58
回答 2查看 889关注 0票数 0

我的msi设置是在安装屏蔽中创建的,我正在执行DTF自定义操作dll作为提交自定义操作。如果我将MessageBox.Show插入自定义操作中,我可以看到PROGRAMFILESDIR中有一个名为" CustomActionProject.CA.dll -“的临时文件夹,并且有一个复制的CustomActionProject.CA.dll及其所有引用。

有没有办法告诉技术不要创建这个临时文件夹和extract+execute CustomActionProject.CA.dll在同一个文件夹中.CA.dll所在的位置?

编辑:

我发现我不能通过配置.CA.dll来包含wix.ca.targets中的引用。在我的例子中,它防止.CA.dll包含20 my的dll。

现在,我想确保CustomActionProject.dll能够看到与产品一起安装的引用。

这些档案是:

代码语言:javascript
复制
<ProgramFilesFolder>
  <MyApplicationFolder>
    CustomActionProject.CA.dll
    ... About 30 dlls installed with the application that CustomActionProject.dll needs to call
    <Place I Would Like to See CustomActionProject.dll extracted> 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-04 18:30:44

DTF自动将它的文件提取到临时文件夹中执行,然后清理处理。这是非常好的,因为它消除了某些种族条件。如果您愿意,仍然可以将这些文件写入安装程序中。例如,在前一家公司,我们的安装程序在安装过程中使用了几个DLL进行许可证检查,并在运行时安装它们供应用程序使用。

顺便说一句,确保你看过这个:

WiX DTF行为警报

票数 1
EN

Stack Overflow用户

发布于 2014-09-02 23:33:00

您的自定义操作是用托管.Net语言(可能是C#或VB.Net)编程的。由于msi文件可能只包含由本机代码组成的dll自定义操作-- DTF工具,特别是工具makesfxca.exe --将托管dll与辅助代码一起包装/包装,从而产生自提取的本机代码dll。按照WIX的命名约定,本机自定义操作dll包含一个.CA infix。

为了使其工作(即用语言编写的自定义操作生成托管代码),必须进行自提取。所以你的问题的简短答案是"No“。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25571093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档