【问题标题】:How do I create a portable app (runs without installing)如何创建便携式应用程序(无需安装即可运行)
【发布时间】:2011-02-25 14:34:30
【问题描述】:

如何创建一个应用程序:

  • 轻量级:我猜可能不需要 .NET 框架?
  • 便携:无需安装即可运行并将数据保存在应用程序目录中,所以我可以移动文件夹甚至是exe?

这只是一个个人实验:我想尝试创建一个具有上述属性的简单待办事项列表应用程序

我在想:

  • C#/WPF(但需要 .NET 框架,我可以探索客户端配置文件)
  • Appcelerator Titanium(我认为这将是轻量级和足够好的?我不知道我是否可以拥有一个便携式钛应用程序)

【问题讨论】:

    标签: c# wpf titanium portable-applications


    【解决方案1】:

    如果你想用 C# 编写它,你要么需要 .NET 框架,要么需要 Mono 框架。无论哪种方式,您都需要它。值得庆幸的是 .NET 2.0 非常普遍。

    默认情况下,.NET 使用 xcopy 部署,因此您可以将可执行文件和任何必要的 DLL 复制到一个目录中。除非您明确创建外部依赖项,否则不需要“安装”它。

    【讨论】:

      【解决方案2】:

      @jiewmeng,这里我留下几个键来构建一个可移植的应用程序

      1. 如果应用程序需要保存配置文件或数据文件等附加数据,必须保存到exe应用程序的同一文件夹或应用程序的子文件夹。

      2. 应用程序不应将配置数据读/写到 Windows 注册表或 %Appdata% 文件夹中。

      3. 避免使用需要在系统中注册的外部依赖项,例如 ocx o dll 文件。

      4. 尝试使用一种可以使本地应用程序不依赖框架的语言,一个好的建议是使用Delphi

      5. 如果您想使用 .Net 语言,请选择 .Net 框架的版本,该版本在大多数系统中通用,例如 Microsoft .Net 2.0

      【讨论】:

        【解决方案3】:

        如果目标机器安装了 .NET Framework,它几乎是可移植的。

        NDepend 就是这样一款产品,它是基于 .NET 2.0 构建的,如果您之前手动安装过 .NET 2.0,它可以在 Windows Vista、Windows 7 和其他 Windows 上运行良好。

        个人而言,用 C++/Delphi 等本地语言编写应用程序启动器来检测目标机器是否有 .NET 并不难。如果尚未安装 .NET,此启动器会显示警告或帮助自动安装框架。 (甚至一些安装程序也允许您这样做。)

        【讨论】:

          【解决方案4】:

          使用 Delphi,它始终便携且体积更小

          【讨论】:

            猜你喜欢
            • 2016-06-19
            • 2011-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多