gpt4 book ai didi

Wix 项目对多个目标位置的引用如何?

转载 作者:行者123 更新时间:2023-12-04 06:26:54 27 4
gpt4 key购买 nike

我正在为我正在从事的一个项目的 wix 设置而苦苦挣扎。
我决定尝试 wix,但到目前为止进展并不顺利。
我可能已经阅读了所有教程并搜索了网络但没有成功。

这是我的情况:
一种设置应安装在程序文件应用程序文件夹中
1.) Windows 窗体应用程序
2.) Windows 应用程序使用的 Web 应用程序
3.) web 和 win 应用程序使用的共享 lib1
4.) web 和 win 应用程序使用的共享 lib2
... 等等

我正在使用项目引用来收集带有热量的项目输出。
我已经给出了每个项目目录 ID,以便我以后可以在实际安装位​​置使用它作为引用。
看起来我不能在多个位置有相同的项目输出
我也不能多次引用同一个项目。

如何制作在多个目标位置使用项目输出的安装程序。
这是我的 product.wxs 示例

        <!-- Define Directory Structure -->
<Directory Id="TARGETDIR" Name="SourceDir">

<!-- ProgramFiles -->
<Directory Id="ProgramFilesFolder">
<Directory Id="dirManufacturer" Name="TEST_[Manufacturer]">
<Directory Id="INSTALLLOCATION" Name="TEST_[ProductName]">

<!-- Filled With Referenced project -->
<Directory Id="dirControl" Name="Control">
<Directory Id="dirControlOutput" />
<Directory Id="dirSearchAndIndexOutput" />
<Directory Id="dirControlLib" />
<Directory Id="dirControlAndWebLib" />
<Directory Id="dirLuceneAnalyzersOutput" />
</Directory>

<!-- Filled With Referenced project -->
<Directory Id="dirWeb" Name="Web">
<Directory Id="dirWebOutput" />
<Directory Id="dirWebBin" Name="bin">
<Directory Id="dirUrlRewriterOutput" />
<Directory Id="dirSearchAndIndexOutput" />
<!-- TODO: Fix This
<Directory Id="dirSearchAndIndexOutput" />
<Directory Id="dirControlAndWebLib" />
<Directory Id="dirLuceneAnalyzersOutput" />
-->
</Directory>
</Directory>

</Directory>
</Directory>
</Directory>

<!-- StartMenu -->
<Directory Id="ProgramMenuFolder">
<Directory Id="dirProgramsMenu" Name="TEST_[ProductName]">
</Directory>
</Directory>

<!-- CommonApplicationData -->

</Directory>

我真的很想了解所有这些是如何工作的,但我发现的一切都指出这种情况要么是不可能的,要么需要直接手动引用文件。

我的一般想法是让 Visual Studio 解决方案为每个源更改自动build设置。

感谢您的帮助和建议!

戈兰

最佳答案

从 3. 和 4. 在描述中我收集到您需要在不同的地方安装相同的文件,对吗?

您可以像在下面的示例中那样进行操作 - 相同的文件(构建机器上的路径\to\lib1.dll)将在目标机器上安装两次,分别是 App\lib1.dll 和 Web\lib1.dll。您只需要引用相同源文件的 2 个不同组件。

<Directory Id="AppDir" Name="App">
<Component Id='lib1_app.dll' Guid='*'>
<File Id='lib1_app' Name='lib1.dll' Source='path\to\lib1.dll' KeyPath='yes'>
</Component>
</Directory>

<Directory Id="WebDir" Name="Web">
<Component Id='lib1_web.dll' Guid='*'>
<File Id='lib1_web' Name='lib1.dll' Source='path\to\lib1.dll' KeyPath='yes'>
</Component>
</Directory>

关于Wix 项目对多个目标位置的引用如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5943109/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com