c# - 在不安装 GTK 的情况下将 GTK Sharp 应用程序部署到 Windows#

标签 c# windows mono gtk#

我正在 openSuse 下开发一个 GTK# mono 应用程序,但我有兴趣将它部署到所有三个平台(Windows 7、Snow Leopard 和我可以测试的尽可能多的 Linux 发行版)。

在 Linux 上部署不是问题,因为 GTK# 带有单声道库,但对于 Windows,我不想强​​迫用户安装 GTK#。有没有办法在应用程序中嵌入 GTK#,或者至少将它的安装与我的程序安装集成在一起?

最佳答案

您可以通过多种方式部署 GTK# 应用程序,而无需强制用户在 Windows 上安装适用于 .NET 的 GTK#。

  1. 您可以将整个 Mono 运行时(19 MB 开销)嵌入到您的应用程序中。这样就不会有任何依赖项,您的用户甚至不需要安装 .NET 或 MONO。 Here's a Guide (我认为 Banshee 使用这个)。

  2. 您可以将所有 GTK# 程序集复制到您的程序目录中。但是不推荐这样做,因为如果用户安装了另一个版本的 Gtk 运行时,您可能会遇到很多问题。 (是的,GTK+ 也需要运行时)。

  3. 您可以将 GTK# 安装程序与应用程序的 Windows 安装程序集成。 (然后您的用户将能够通过单击来安装两者,无需强制)。许多安装程序都可以做到这一点。

  4. 您可以使用 Package Management System .

  5. 您可以使用部署管理/依赖管理软件,但这很昂贵,因为所有好的软件都是专有的。

尽管这些变通办法可以为您的用户省去麻烦,但从长远来看,我推荐选项 3。让您的用户安装 GTK# 可能被证明是值得的,因为与简单的额外安装相比,其他解决方法最终可能会给您的用户带来更多不便。

关于c# - 在不安装 GTK 的情况下将 GTK Sharp 应用程序部署到 Windows#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5816895/

相关文章:

c# - 如何使用 WPF 项目中的 C++ 渲染

C# 字符串长度

c# - OnMouseDown() 事件 Unity 的问题

c# - 从基类强制转换为继承类时,InvalidCastException?

windows - 命令窗口在 Enter 时关闭

c# - 如何使用自定义命名空间?

python - 两个文件在行方面的区别

windows - 从批处理脚本发送电子邮件。布拉特不起作用

node.js - azure-functions-cli : func init spits error "No such file or directory"

c# - 从 Linux 服务启动 GTK# 应用程序