我有一个小要求。我必须创建一个安装程序,将部署(粘贴嵌入的txt和配置文件)文件到不同的位置
情况
我找到了一个有趣的工具WIX。我仍在深入研究它的细节。 有没有人有同样的要求任何提示都没关系。 根据我的理解,我们无法在VS安装项目中嵌入自定义脚本。 InstallSheild很适合它,但它是许可的。
答案 0 :(得分:0)
我认为你可以保留所有文件和配置文件位于应用程序目录的一个临时目录中,您可以添加自定义操作安装程序,您可以根据config / ini文件将文件从临时目录移动到所需目录。在安装结束时,您可以删除临时目录。从我的希望,这可能是解决方案。可能有一些其他优化方式这样做。我没有时间用代码解释。
答案 1 :(得分:0)
您可以通过定义不同的目录,然后在"组件列表"中引用它们来完成此操作。您可能需要提供一个GUI,用户可以在其中为单独的组件定义他/她的INSTALLFOLDER(在本例中为DOCUMENTATION)。
如果您需要更多信息,请与我们联系。
<Directory Id="ProgramFilesFolder">
<Directory Id="FirstSubFolder" Name="First Sub Folder">
<Directory Id="SecondSubFolder" Name="Second Sub Folder">
<Directory Id="DOCUMENTATIONFOLDER" Name="Documentation" ComponentGuidGenerationSeed="a9f690d3-22b3-488f-bdac-bb665c25933c"/>
</Directory>
</Directory>
</Directory>
在我的例子中,我们创建了单独的.wxs文件(由heat创建)。 Component和File元素不如结构重要(Directory&lt; Component&lt; File)。
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<DirectoryRef Id="DOCUMENTATIONFOLDER">
<Component Id="File.pdf" Guid="*">
<File Id="File.pdf" KeyPath="yes" Source="$(var.gatheredDocumentation)\File.pdf" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<ComponentGroup Id="DocumentationComponents">
<ComponentRef Id="File.pdf" />
</ComponentGroup>
</Fragment>
</Wix>