【发布时间】:2020-02-24 07:48:48
【问题描述】:
这是我第一次尝试制作可部署的程序。在创建了一个运行良好的小型 WPF XAML 应用程序(即我可以在 bin 文件夹中运行可执行文件)之后,我试图将它包装在一个安装程序中。
在遵循 WiX 和“Microsoft Visual Studio 安装程序项目”的多个在线指导后。两者都制作安装程序包,但是当我针对“主要输出”时,它们仅针对 WPF XAML 输出中的 dll 文件。这似乎源于 WPF 项目的构建。
如何调整构建过程的主要输出,使其包含在安装程序中?
将 dll 指定为输出文件的构建输出屏幕截图:
添加更多细节:
这可能是一个wpf(.net core) 应用程序而不是一个wpf(.net framework)。查看 Elton 截图中的输出窗口,我们可以发现输出是 xx.dll 而不是 xx.exe。
如果我们在此解决方案中创建一个Installer项目,右键单击Installer项目=>添加=>项目输出=>主输出以包含安装程序项目中的WPF输出,只有xx.dll被认为是wpf的输出,但不是xx.exe。
所以在VS中建立Installer项目后,双击setup.exe(installer project's output),wpf.exe没有安装好。
【问题讨论】:
-
您的安装程序是如何设置的?你没有任何相关信息。查看How to Ask 并包含minimal reproducible example。
-
你是如何设置“主输出”的?在我的测试中,没有“只针对dll文件”的情况。有详细信息吗?
-
安装项目非常简单。网站codeteddy.com/2016/04/04/… 是如何设置的,WiX 尝试遵循wixtoolset.org/documentation/manual/v3/votive/…
-
@KyleWang 我没有设置主要输出。它根本不是抓取 exe。查看项目的构建输出,它将 dll 设置为主要输出。因此,我认为这不是设置项目问题,而是主项目构建的问题。抱歉,如果关于设置的讨论导致讨论误入歧途,但我想将其作为最终目标的背景以及我首先遇到此问题的原因。
标签: c# wpf visual-studio msbuild