用于客户端执行的 WPF 应用程序

Posted

技术标签:

【中文标题】用于客户端执行的 WPF 应用程序【英文标题】:WPF application for Client Execution 【发布时间】:2013-01-01 09:06:10 【问题描述】:

我在 WPF 中创建了一个简单的库存应用程序。 我现在应该怎么给客户呢?

我所做的一种方式:我已将我的 AppPresentation 解决方案设置为启动项目,并且我可以看到来自其他解决方案的所有 DLL 都已添加到调试和发布中此解决方案的目录。

当我将 Release 文件夹复制到其他驱动器(从 D: 到 C:)并运行 AppPresentation.exe 时出现一些关于缺少某些 DLL 的错误,但我仍然可以在此文件夹中看到这些 DLL .

但是,当我将调试文件夹复制到另一个驱动器并运行应用程序(即 AppPresentation.exe)时,现在我可以成功运行应用程序并完成工作。

我可以将整个 Debug 文件夹提供给客户并期望它在他的机器上完美运行吗?我将确保在该机器上安装了 .NET 4.0 Framework(当然不是 Visual Studio)。这行得通吗?

【问题讨论】:

【参考方案1】:

只要您在客户端上安装了所需版本的 .NET Framework 并包含所有必要的 dll,它就可以工作,

理想情况下,您应该考虑创建一个Visual Studio setup project:

使用安装项目有以下优点:

    应用程序运行所需的所有 dll 和其他文件都将合并到一个设置文件中 您可以指定诸如 .NET Framework 之类的先决条件,它会在所有必需的组件都首先安装之前阻止安装。 用户无需手动复制 dll 即可准确指定应用程序应安装在磁盘上的哪个位置(在您的场景中就是这种情况)。

这只是使用安装项目的一些优点,但希望您会被说服尝试一下,因为它是安装 Windows 应用程序的首选方式

P.S 如果您的设置项目变得更复杂,请考虑查看Wix

【讨论】:

谢谢.. 我还看到了一个发布向导,效果很好。我已经看到了 Wix 和 Inno 设置。但感谢您提供有关 Debug 文件夹的信息。

以上是关于用于客户端执行的 WPF 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

Lync 客户端 SDK:FollowedRooms 不适用于 wpf

C# WPF 在不同的域中运行应用程序副本(用于单独的 cookie)

无法将 SQL Server LocalDB 用于我的 WPF 应用程序

wpf是啥

在Visual Studio 2017中为WPF应用程序创建MSI安装程序后,EXE不执行任何操作

WPF 后台Render线程崩溃, Exception from HRESULT: 0x88980406