我正在尝试将一个演示项目与WiX MSI安装程序捆绑在一起。我的目标是创建一个" Projects"包含"演示项目"的文件夹用户文档目录中的文件夹。
由于我的安装范围是" perMachine"将文件添加到用户目录会导致每个文件出现以下错误:
It must use a registry key under HKCU as its KeyPath, not a file
我可以通过将RegistryValue元素添加到每个Component来修复此错误,但是,演示项目至少有1000个文件。
我正在考虑为演示项目创建另一个安装程序,该安装程序将具有" perUser"安装范围,然后将其捆绑到WiX引导程序中。唯一的缺点是它感觉像是一个黑客。
为应用程序安装补充材料时,推荐的方法是什么?我应该构建另一个安装程序还是有一个WiX扩展,允许我将文件复制到用户的文档目录?
答案 0 :(得分:2)
因为它是一个演示项目并且对您的应用程序并不重要,所以一种方法是将其压缩并将该单个zip文件作为组件。在每个文件组件的情况下,演示项目的潜在问题是用户将以某种方式开始摆弄演示,最终将提示Windows Installer进行修复。如果项目是客户使用开发工具打开并开始更改的项目,则尤其如此。您不希望与修复的演示交互影响正在运行的应用程序。
没有WiX或MSI方法将文件复制到用户的文件夹,因为这实际上是注册表键路径的用途。它还具有为尚未创建的用户帐户工作的优势。当另一个用户登录并使用应用程序Windows通知时,该用户缺少密钥路径,并提示从原始安装源安装密钥路径组件(文件)。