如何将 Mono Winforms 应用程序部署到 Suse Linux 11.0 Server Enterprise?
有没有办法制作一个简单的安装程序,其中包含必要的运行时和依赖包,并在 OpenSuse 菜单中创建一个图标,以便应用程序“正常工作”?
实际的应用程序只是一个可执行文件 (.EXE) 和一些支持文件(主要是 XML 和 CSV)。
我已经在 MonoDevelop 2.0 中成功构建并执行了应用程序。
我最初尝试通过 zypper 从以下存储库安装 Mono 运行时 http: //ftp.novell.com/pub/mono/download-stable/openSUSE_11.0,但很快就陷入了缺少软件包依赖项的困境。
这就是当我尝试使用 zypper 安装 Mono 运行时时发生的情况:
linux-lkfu:~ # zypper addrepo http://ftp.novell.com/pub/mono/download-stable/SLE_11 mono-stable
Adding repository 'mono-stable' [done]
Repository 'mono-stable' successfully added
Enabled: Yes
Autorefresh: No
URI: http://ftp.novell.com/pub/mono/download-stable/SLE_11
linux-lkfu:~ # zypper refresh --repo mono-stable
Retrieving repository 'mono-stable' metadata [done]
Building repository 'mono-stable' cache [done]
Specified repositories have been refreshed.
linux-lkfu:~ # zypper dist-upgrade --repo mono-stable
Loading repository data...
Reading installed packages...
Computing distribution upgrade...
Nothing to do.
linux-lkfu:~ #
请注意提示符前的最后一行“Nothing to do”。我不认为它有任何作用。
Is there a way to make a simple installer that includes the necessary runtimes and dependency packages, and creates an icon in the OpenSuse menu, so the application will "just work?"
The actual application is just an executable (.EXE) and a handful of support files (mostly XML and CSV).
I already have the application successfully building and executing in MonoDevelop 2.0.
I originally tried to install the Mono Runtime via zypper from the following repository http://ftp.novell.com/pub/mono/download-stable/openSUSE_11.0, but quickly got bogged down in missing package dependencies.
This is what happens when I try to use zypper to install the Mono runtime:
linux-lkfu:~ # zypper addrepo http://ftp.novell.com/pub/mono/download-stable/SLE_11 mono-stable
Adding repository 'mono-stable' [done]
Repository 'mono-stable' successfully added
Enabled: Yes
Autorefresh: No
URI: http://ftp.novell.com/pub/mono/download-stable/SLE_11
linux-lkfu:~ # zypper refresh --repo mono-stable
Retrieving repository 'mono-stable' metadata [done]
Building repository 'mono-stable' cache [done]
Specified repositories have been refreshed.
linux-lkfu:~ # zypper dist-upgrade --repo mono-stable
Loading repository data...
Reading installed packages...
Computing distribution upgrade...
Nothing to do.
linux-lkfu:~ #
Notice the last line before the prompt that says "Nothing to do." I don't think it's doing anything.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
一种选择是从 Novell 购买 SLES 11 的单声道支持。这将为您提供一个经过测试、支持和工作的单声道存储库。
如果没有,您必须使用 SLES 存储库。对于单声道,它是 http://ftp.novell.com/pub/mono/download -stable/SLE_11
这应该可以做到:
One option is to buy mono support for SLES 11 from Novell. That will grant you a tested, supported and working mono repository.
If not you have to use the SLES repositories. For mono it's http://ftp.novell.com/pub/mono/download-stable/SLE_11
This should do it:
如果您有 Visual Studio,则可以尝试用于 Visual Studio 的 Mono Tools,它提供了使此操作变得简单的工具。其功能齐全的期限为 30 天。
http://go-mono.com/monotools/
If you have Visual Studio, you can try Mono Tools for Visual Studio, which provides tooling to make this easy. It is fully functional for 30 days.
http://go-mono.com/monotools/
这取决于您计划如何打包它们。您可以手动创建(Debian 和 Ubuntu 为 deb,Fedora 和 openSUSE 为 rpm,或其他任何东西)。
就我个人而言,我认为首先简单地将 .sh 添加到您的 ZIP 包中并要求最终用户执行它以进行依赖性检查、安装等是可以接受的。
然后你就可以了解封装方法了。
that depends on how you plan to package them up. Either you manually create (deb for Debian and Ubuntu, rpm for Fedora and openSUSE, or anything else).
Personally, I think at first it is acceptable to simply add a .sh to your ZIP package and ask the end users to execute it for dependency checking, installing, and so on.
Then you can learn about the packaging methods.