我不“明白”程序如何自我更新。我怎样才能更新我的软件?

2024-01-18

假设我创建了一个 .exe 文件,一切都很顺利。太棒了,它有效。

假设我在软件上开发了一项新功能,并且我希望它可供已经拥有旧版本的人使用,我怎样才能使软件找到我的新版本,对其进行修补,然后继续其业务。

我似乎无法思考这个问题。

谢谢。

EDIT: 对于造成的混乱,我深表歉意,但我的意思是更明智的代码答案。我的代码中有什么特殊的东西我应该允许更新吗?

例如,如果我想添加一个新功能,如何在已经打包的.exe中添加“方法”? :S 那让我旋转起来。


通常流程如下:

  • 用户启动应用程序
  • 该应用程序启动“更新程序”(另一个程序)
  • 更新程序从 Internet 检索是否存在更新版本
  • 如果是这种情况,建议用户更新
  • 用户接受后,更新程序下载新的安装包(可以是增量的)
  • 更新程序关闭应用程序(或者更好的是,要求用户执行此操作)并启动新的安装程序。
  • 安装包完成剩下的工作

当然,你可以有很多变化,但这是基本的方法。

至少在 Windows 上,某些软件会安装一个始终打开的更新程序守护程序,并检查其所处理的软件的新更新(例如 GoogleUpdater)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我不“明白”程序如何自我更新。我怎样才能更新我的软件? 的相关文章

  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • std::list 线程push_back、front、pop_front

    std list 线程安全吗 我假设不是这样 所以我添加了自己的同步机制 我认为我有正确的术语 但我仍然遇到问题 每个函数都由单独的线程调用 Thread1 不能等待 它必须尽可能快 std list
  • free 和 malloc 在 C 中如何工作?

    我试图弄清楚如果我尝试 从中间 释放指针会发生什么 例如 看下面的代码 char ptr char malloc 10 sizeof char for char i 0 i lt 10 i ptr i i 10 ptr ptr ptr pt
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • 需要帮助优化算法 - 两百万以下所有素数的总和

    我正在尝试做一个欧拉计划 http projecteuler net问题 我正在寻找 2 000 000 以下所有素数的总和 这就是我所拥有的 int main int argc char argv unsigned long int su
  • 使用 C# 中的 CsvHelper 将不同文化的 csv 解析为十进制

    C 中 CsvHelper 解析小数的问题 我创建了一个从 byte 而不是文件获取 csv 文件的类 并且它工作正常 public static List
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • 如何定义一个可结构化绑定的对象的概念?

    我想定义一个concept可以检测类型是否T can be 结构化绑定 or not template
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l

随机推荐

  • Java 7 明显的安全变化

    随着最近对 Java 7s 安全检查的更改 我正在更新我们的 Webstart 应用程序 以允许它在没有警告的情况下运行 我们的 webstart 应用程序由许多 jar 文件组成 其中只有少数是我们开发的 我们使用许多第 3 方 jar
  • 从node.js中的模块内调用app.js的函数?

    假设我有以下 app js 显然very简化 var express require express app express createServer include routes require lib routes app some r
  • 如何抓取由 R 渲染的 JavaScript 网站?

    想问下有没有什么好的方法可以抓取下面的网站 基本上我想获取所有产品的名称和价格 然而 价格信息存储在一些 JQuery 脚本中 硒是唯一的解决方案吗 想过用V8 Jsonlite 但好像不太适用 如果你能在 R 中提供一些替代方案 那就太好
  • Ansible playbook 中的动态变量名称?

    我有许多带有名称的列表 这些列表是通过附加创建的ec2 public dns name to seeds 像这样 seeds ec2 50 8 1 43 us west 1 compute amazonaws com 我需要每个主机的配置来
  • 如何在 Vertica 中创建外部过程

    如何在 Vertica 中创建使用带有诸如以下子句的 SQL 的函数 过程FROM WHERE GROUP BY ORDER BY LIMIT etc 维蒂卡的create function语法禁止在语句中使用某些子句expression
  • Excel VBA Array() 函数导致类型不匹配?

    我创建了以下函数来查找文件并在未找到文件时给出错误 Public Function checkFileExistence arrFileNames As String Optional bShowErrMsg As Boolean Fals
  • Python SIGINT 未捕获

    我不明白为什么我的 SIGINT 永远不会被下面的代码捕获 usr bin env python from threading import Thread from time import sleep import signal class
  • 如何让主线程等待所有子线程完成?

    我打算在主线程中触发 2 个线程 并且主线程应该等待所有 2 个子线程完成 这就是我的做法 void routine void arg sleep 3 int main for int i 0 i lt 2 i pthread t tid
  • v3io,文件数量限制

    您知道限制或公式吗 如何计算 v3io 中的文件数量 它可能与集群中数据节点的数量和数据服务器节点上的内存大小有关 我尝试在 v3io 中使用 50 个和 8000 万个文件 它表现良好 但了解预期限制或一般建议很重要 顺便说一句 我没有这
  • 如何使用线程模块暂停和恢复线程?

    我有一个很长的进程 我计划在一个线程中运行 因为否则它会冻结我的 wxpython 应用程序中的 UI 我在用着 threading Thread target myLongProcess start 启动线程并且它可以工作 但我不知道如何
  • common lisp - 获取文件路径

    在 Common Lisp 中 有没有办法获取编译文件的路径 类似于当前目录 该文件不在当前目录文件夹内 这应该是一条评论 但我将提供一些可能对原始发布者有所帮助的代码示例 首先 你需要更清楚自己想做什么 您想要解决的问题是什么 其次 这里
  • 对于 Web 应用程序来说,正确的 MVC 图是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 哪个 MVC 图是正确的 每个都有不同的箭头 图1 图2 source stannard net au http blog stannard n
  • 为什么“map (filter fst)”的类型为“[[(Bool, a)]] -> [[(Bool, a)]]”?

    我试图理解为什么这个函数 map filter fst 有类型 Bool a gt Bool a 如果filter必须接收一个返回Bool类型的函数并且fst只返回元组的第一个元素 那么 filter fst 如何工作 filter a g
  • 将桌面拖放到浏览器 HTML5 Javascript [重复]

    这个问题在这里已经有答案了 正在寻找一些指导 仍然是一个代码学习者 并且在使用 HTML5 DnD File Api 时遇到了一些困难 玩了一些演示 尝试了解它们是如何工作的 我有一点问题 大多数似乎使用内联 css js 方法 我试图在单
  • 将 JPG 转换为 Base64 并返回 [重复]

    这个问题在这里已经有答案了 我可以使用以下 PowerShell 命令将 jpeg 转换为 base64 字符串 Convert ToBase64String Get Content Path Capture jpg Encoding By
  • 将原始查询转换为 Laravel eloquent

    如何将此原始查询转换为 Laravel 雄辩的方式 select c name as country from country c address ad city ci where ad id 1 and city id ad city i
  • 使用 Three.js 加载 .obj 时出现问题

    我正在尝试使用 Three js 加载 obj 文件 但不幸的是 它说错误 无法加载资源 服务器响应状态为 404 未找到 下面是我正在使用的示例链接 查看源代码 http mrdoob github io Three js example
  • Spring @RequestParam Map 在 POST 方法中不起作用

    我从 Spring 文档中获取了以下内容 公共 interfaceRequestParam 指示方法参数应绑定到 Web 请求参数的注释 支持 Servlet 和 Portlet 环境中的带注释的处理程序方法 如果方法参数是 Map 或 M
  • 为什么删除的内存无法重用

    我在带有 MSVC 9 0 的 Windows 7 上使用 C 并且还能够在带有 MSVC 9 0 的 Windows XP SP3 上进行测试和重现 如果我分配 1 GB 0 5 MB 大小的对象 当我删除它们时 一切正常并且行为符合预期
  • 我不“明白”程序如何自我更新。我怎样才能更新我的软件?

    假设我创建了一个 exe 文件 一切都很顺利 太棒了 它有效 假设我在软件上开发了一项新功能 并且我希望它可供已经拥有旧版本的人使用 我怎样才能使软件找到我的新版本 对其进行修补 然后继续其业务 我似乎无法思考这个问题 谢谢 EDIT 对于