问题标签 [software-distribution]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
macos - 如何分发带有依赖库的 Mac OS X?
我有一个程序(特别是我的SO DevDays Countdown 应用挑战条目),它依赖于几个动态库,即 libSDL、libSDL_ttf 等。我/opt/local/lib
通过 MacPorts 安装了这些库,很多人不会安装这些库(有些人可能安装了它们,但不是在那个位置)。
如何分发我的程序,以便没有安装这些库的人可以开箱即用地运行它?显然我必须分发各种.dylib
文件,但这样做是不够的。动态加载器仍会查找安装在我安装它们的位置的库。有没有办法告诉动态加载器查看可执行文件的当前目录,就像 Windows 对 DLL 所做的那样?人们不应该修改任何环境变量(例如DYLD_LIBRARY_PATH
),因为我希望它能够开箱即用。
sql-server - 使用 sql 2005 为应用程序安装支持文件,其中服务器位于另一台计算机上
我有一个托管 C++ 应用程序,它通过网络连接到同一台计算机上的 SQL Server 2005 Express 数据库。我的问题是,如果数据库位于网络上的另一台计算机上,客户端计算机将不会从 SQL Server 安装所需的 DLL 文件。
我不能强迫我的用户在客户端机器上安装 SQL Server 2005 Express 只是为了获得所需的支持文件。所以我的问题是,将依赖文件安装到用户计算机上的 GAC 是否安全?或者,MS 是否有为此目的的命令行安装包?
我的应用程序显示为依赖的 SQL Server 文件如下:
Microsoft.SqlServer.BatchParser Microsoft.SqlServer.ConnectionInfo Microsoft.SqlServer.RegSvrEnum Microsoft.SqlServer.Replication Microsoft.SqlServer.Rmo Microsoft.SqlServer.ServiceBrokerEnum Microsoft.SqlServer.Smo Microsoft.SqlServer.SmoEnum Microsoft.SqlServer.WmiEnum
如果有帮助,我正在为我的安装程序使用 Inno-Setup 程序。这必须是一个普遍的问题。
architecture - 从公共网站启动 win32 本机可执行文件
我遇到了一个架构挑战,我正在寻找想法。
客户有一个现有的 win32 本机应用程序,他们非常抗拒以任何微不足道的方式进行更改。它是用非托管 c++ 编写的,并且至少使用一个 3rd 方 dll,因此它不是一个独立的 exe。它是什么并不重要,将其视为客户支持沟通工具。理想情况下,客户希望从网站启动它,而不是将其作为可安装程序发布。此外,客户需要在执行时将令牌传递给可执行文件,以便它可以打电话回家并要求更多指令。
我将继续承认,应用程序的启动方式应该是最初的设计考虑因素之一,而不是最后一个考虑因素——但事实就是如此。
对恶意软件、间谍软件、特洛伊木马等的安全问题使得这种分发模式不太可能发生。我不这样做比找到一个合法的方法来完成它有更多的经验。
欢迎任何想法(正面或负面)。
linux - 为 Linux 分发二进制应用程序的最佳方式是什么?
我刚刚将一个应用程序从 Windows 移植到 Linux。
我必须创建应用程序的安装程序。
该应用程序不是开源的 => 我应该分发应用程序的二进制文件(可执行文件、一对 .so 文件、帮助文件和图像)。
我找到了几种方法来做到这一点:
- RPM 和 DEB 包;
- .sh 文件中的安装程序;
-自动包装。
我不喜欢第一种方法(RPM 和 DEB 包),因为我不想为不同的 Linux 发行版维护不同的包。
为 Linux 分发二进制应用程序的最佳方式是什么?
distribution - 一个有趣的软件分发问题
我有一个问题,我相信你们中的一些人会有兴趣在这里讨论。开始:
我和几个朋友一直在开发一个小型 Windows 应用程序,这可能正是小众市场想要的。我们正处于发布 1.0 的最后阶段
我们一直在考虑分配安排,我们提出了两个基本要求:
a) 我们不热衷于购买支付网关。我们正在寻找一个合适的网站,在这里我们可以展示我们的产品信息,并且可以负责销售和分销——包括付款安排和以后支付我们的份额。类似于适用于 Windows 应用程序的 Apple App Store。
b) 我们不想将我们的功能二进制文件的副本传送到此分发站点。相反,我们只想在我们的站点上托管二进制文件,并将它们提供给已通过分发站点验证的客户。(我们对于在 3rd 方网站上托管二进制文件有点偏执 - 不幸的是,这是一个不可变的标准。)
有谁知道可以通过 a) 和 b) 的分发站点?
software-distribution - 您使用什么服务来分发软件?
我在一家中型软件公司工作,我的任务是寻找一种以电子方式分发我们软件的新方法。我们没有超快速的连接来自己分发它,所以它需要是一个我们可以上传和发送链接给客户的解决方案。客户不会从我们的网站购买我们的软件,因为我们已经通过直接销售和合作伙伴销售完成了大部分销售。自从我加入公司以来,我们已经从 CD 分发大小的下载发展到 DVD 大小的分发下载。我们发布了一个新版本,发现 YouSendIT 服务很笨拙,我们 99% 的客户都会收到下载该软件的链接。如果要求,我们只会发送印刷媒体。除了 yousendit 之外,还有没有允许无限文件大小上传/下载的服务。我听说过下降。io,它似乎与 yousendit 相似。如果您能指出我的方向,由第三方托管的电子软件分发系统将不胜感激。
谢谢
麦克风
operating-system - 从 windows xp -> Vista -> Windows 7 升级软件时究竟发生了什么变化
我猜
- Win32 API
- MFC
- 。网
- Java(也是托管的)
是制作 Windows 应用程序的“唯一”方法。 请提及我们是否可以通过其他方式构建赢应用程序
如果它是托管环境 .NET 或 Java。该应用程序将在所有操作系统上运行,无论其版本如何。它只关心框架中的版本(api)变化。
现在来到 Win32api/mfc 我猜这些 api 将仍然向后兼容。所以,当为 windows XP 构建应用程序时。他们需要发布一个单独的 Vista 版本和一个单独的 WINDOWS 7 版本。
为什么?如果它是一个 windowsxp 32 位应用程序。它也应该在 Vista 32bit 和 Windows 7 上运行。正确的?为什么他们必须在新操作系统发布时发布单独的版本(Windows 7)。为什么有些xp应用不能在win7上运行。
好的。假设要发布更新的版本。他们需要做的就是为/在这个较新的 win7 上编译相同的源代码,对吧?那为什么人们要花这么多时间来升级他们的软件。
所以软件可以在所有 xp、vista、win7 上运行,但问题很严重,尤其是硬件驱动程序。必须为新操作系统提供新版本。为什么会这样?
tcl - 如何分发用解释语言构建的项目?
我已经用解释语言(Tcl/Tk)和 Perl(两者都是开源)启动了一个项目(开发人员文本编辑器),但是有一段时间,当它进入 Beta 版本时,我需要分发它适用于用户(当然是开发人员),但我想知道一些关于此的事情:
- 可以编译成可执行文件吗?
- 如何?
- 我可以为其他平台编译吗?
- 或者在这种情况下最好使用编译语言还是解释语言?
- 平常的事情是这样的吗?
- 在用户机器上,他需要有 Tcl/Tk 还是 Perl?
python - 创建可移植的 Django 应用程序 - 需要帮助
我正在构建一个 Django 应用程序,我可以在 Ubuntu Linux 主机上轻松运行(测试:))。我想打包没有源代码的应用程序并将其分发到另一台生产机器。理想情况下,应用程序可以通过 ./runapp 命令运行,该命令启动运行 python/django 代码的 CherryPy 服务器。
我发现了几种方法:
- 仅分发 .pyc 文件并在目标机器上构建和安装所有要求。
- 使用众多工具之一将 Python 应用程序打包到可分发的包中。
我真的很想选择 nr.2 选项,我希望包含我的 Django 应用程序,因此可以分发它而无需安装或配置其他东西。搜索互联网给我提供了比答案更多的问题和一个非常酸的味道,Django 打包是一种每个人都知道但没人谈论的神秘艺术。:)
我已经尝试过 Freeze(失败)、Cx_freeze(简单安装版本失败,存储库版本有效,但应用程序输出失败)并在 dbuilder.py 上重新启动(它应该可以工作,但实际上并不能正常工作 - 我猜)。如果我理解正确,大多数问题都源于 Django 导入模块的方式(示例),但我不知道如何解决它。
如果有人可以在线提供有关打包/分发独立 Django 应用程序的任何指针或好的资源,我将非常高兴。
linux - 下载时创建自定义 .dmg 文件
我想分发一个跨平台应用程序,其可执行文件略有不同,具体取决于下载它的用户。这是通过在可执行文件中的某处放置一个占位符字符串来完成的,该字符串在下载时被用户特定的内容替换。
必须进行这些字符串替换的网络服务器是一台 Linux 机器。对于 Windows,可执行文件未在安装程序 .exe 中压缩,因此字符串替换很容易。
对于未压缩的 Mac OS X .dmg 文件,这也很容易。但是,使用 gzip 或 bzip2 压缩的 .dmg 文件并不容易。例如,在后一种情况下,压缩的 .dmg 不是一个大的 bzip2 压缩磁盘映像,而是由几个不同的 bzip2 压缩部分(具有不同的块大小)和一个 plist 后缀组成。此外,使用 bzip2 解压缩和重新压缩不同部分不会产生原始数据,所以我猜测 Apple 对 bzip2 使用了一些与命令行工具不同的参数。
有没有办法在 Linux(没有 hdiutil)上从未压缩的 .dmg 生成压缩的 .dmg?或者也许是创建自定义应用程序而不预先生成它们的另一个建议?它应该在没有用户输入的情况下工作。