WiX-如何在安装过程中使用不同的复制策略
安装期间,我的应用程序将: 步骤A,查找WiX-如何在安装过程中使用不同的复制策略,wix,Wix,安装期间,我的应用程序将: 步骤A,查找C:\WebService目录。如果发现,请执行以下操作: copy *.bat --> C:\WebService\ copy boost*.dll --> C:\WebService\libs\ copy myApp.dll --> C:\WebService\plugins\ copy *.bat --> [LocalAppData]\myApp\bin\ copy *.dll --> [LocalAppD
C:\WebService
目录。如果发现,请执行以下操作:
copy *.bat --> C:\WebService\
copy boost*.dll --> C:\WebService\libs\
copy myApp.dll --> C:\WebService\plugins\
copy *.bat --> [LocalAppData]\myApp\bin\
copy *.dll --> [LocalAppData]\myApp\libs\
如果未找到步骤B,请执行以下操作:
copy *.bat --> C:\WebService\
copy boost*.dll --> C:\WebService\libs\
copy myApp.dll --> C:\WebService\plugins\
copy *.bat --> [LocalAppData]\myApp\bin\
copy *.dll --> [LocalAppData]\myApp\libs\
我该怎么做
编辑:
我通过以下步骤完成了第2步:
src\bin
src\libs
heat
扫描src目录并将组生成到wxs文件中
这里的问题是,对于步骤A,我必须再次这样做。但是有大量的*.dll,再次将它们复制到另一个目录看起来不是一个好主意。您对问题的表述方式表明,您对Windows Installer的理解存在巨大差距。MSI/WiX不是脚本语言。您需要了解AppSearch、功能、方向、组件和条件是如何工作的。基本上,您需要将文件分组到组件中,并使用AppSearch检测目录是否存在。然后在条件中使用搜索结果来确定安装了哪些文件。您对问题的表述方式表明,您对Windows Installer的理解存在巨大差距。MSI/WiX不是脚本语言。您需要了解AppSearch、功能、方向、组件和条件是如何工作的。基本上,您需要将文件分组到组件中,并使用AppSearch检测目录是否存在。然后在条件中使用搜索结果来确定安装了哪些文件。好的,最后解决了这个问题 简而言之,我通过编写C++程序来帮助这个。 详情如下 我的wxs启动方式如下:
<Directory Id='TARGETDIR' Name='SourceDir'>
<Directory Id='WebDir'>
<Directory Id='INSTALLDIR' Name='$(var.ProductName)'/>
</Directory>
<Directory Id='DefaultDir'/>
</Directory>
有了这些wxs文件,软件包可以在不同的场景下安装到不同的地方。好的,终于解决了 简而言之,我通过编写C++程序来帮助这个。 详情如下 我的wxs启动方式如下:
<Directory Id='TARGETDIR' Name='SourceDir'>
<Directory Id='WebDir'>
<Directory Id='INSTALLDIR' Name='$(var.ProductName)'/>
</Directory>
<Directory Id='DefaultDir'/>
</Directory>
有了这些wxs文件,软件包可以在不同的场景下安装到不同的位置。编辑了我的问题并提供了一些详细信息,很抱歉我的疏忽刚刚发现您的解决方案将被重复的目录id阻止-我没有给您提供解决方案,我告诉了您应该阅读的内容。我不知道你的代码是什么样子,但是如果你有重复的目录ID,考虑把目录元素放在一个片段中,并使用DirectoyRf元素在其他片段文件中使用它们。很抱歉我的疏忽刚刚发现您的解决方案将被重复的目录id阻止-我没有给您解决方案,我告诉过您应该阅读什么。我不知道你的代码是什么样子,但是如果你有重复的目录ID,考虑把目录元素放在一个片段中,并使用DirectoyRf元素在其他片段文件中使用它们。