- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
继我上一个问题 Why does my WiX Custom action throw a System.IO.FileNotFoundException? ,我现在正尝试将 C++ 可分发版安装为我的 msi 的一部分。
我已按照文档中的示例进行操作; http://wix.sourceforge.net/manual-wix3/install_vcredist.htm
<DirectoryRef Id="TARGETDIR">
<Merge Id="VC_Redist" SourceFile="$(env.ProgramFiles)\Common Files\Merge Modules\Microsoft_VC100_CRT_x86.msm" DiskId="1" Language="0"/>
</DirectoryRef>
<Feature Id="Complete" Level="1" Title="$(var.NVRProduct) $(var.NVRVersion)" Description="Everything" Display="expand">
<Feature Id="VC_Redist" Title="Visual C++ Runtime" AllowAdvertise="no" Display="hidden" Level="1">
<MergeRef Id="VC_Redist"/>
</Feature>
</Feature>
它不起作用。未安装 C++ 分发版,随后我的 msi 抛出错误,因为缺少 C++ 分发版,并自行卸载。
这个好像和这个问题一样,没有真正回答。 C++ Redistributable package with WIX
任何想法表示赞赏。
最佳答案
我将回答我自己的问题,因为在进一步调查后我发现了很多问题。
首先,VC++ 合并模块的安装确实有效!
我不认为这是因为我仍然遇到错误,而且我在添加删除程序中看不到 VC++ 运行时的条目,就像您手动安装它一样。
但是,通过将安装更改为仅安装可分发文件和应用程序直到我收到错误,我可以看到实际上正在安装 VC++ dll。我现在看到的错误是因为该程序也需要 ATL 可再发行组件。 (正如我通过使用 Dependency Walker 发现的那样)。该错误导致 msi 失败,并且 VC++ dll 与我的应用程序 dll 的其余部分一起被卸载!
一旦我按照帮助文件中的示例使用机制提供了 VC++ 和 ATL 可分发文件,一切都很好。
我还使用了静态链接的 SQLite dll,因为即使安装了可分发文件,自定义操作对 SQLite 的初始调用也失败了。我认为这一定是由于安装顺序问题。但是,使用静态链接版本在此处的开发人员中引起了一定程度的讨论,大约有 50-50 人赞成和强烈反对使用它。
但是,安装现在可以正常工作了。
关于WiX 在 msi 中安装 C++ 可再发行组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15295825/
我有本地更改和远程更改。 有人告诉我必须先推,再 pull 。这背后有什么原因吗? 最佳答案 那个人错了:正确的模型是pull-before-you-push,而不是相反。 当您pull时,git 将
我正在使用最新版本的 Flat UI Pro 1.3.2 ( http://designmodo.com/flat/ ),jQuery 插件 flatui-radiocheck v0.1.0 和 iO
我是一名优秀的程序员,十分优秀!