Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7854775
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 2, 20262026-06-02T20:11:02+00:00 2026-06-02T20:11:02+00:00

Google’s Chrome browser has a super-slick updating system on Windows. It doesn’t require administrative

  • 0

Google’s Chrome browser has a super-slick updating system on Windows. It doesn’t require administrative privileges, and it updates in place without requiring user interaction.

I’m trying to create something similar to this, and would appreciate any advice on how to do it.

The first part of their trick is they don’t install into Program Files like most Windows programs do, instead they install into C:\Users\USER_NAME\AppData\Local\Google\Chrome\Application. This enables their program file to modify itself without administrative privileges.

Looking inside that directory, I see that there is not only a chrome.exe but also an old_chrome.exe. Searching around online, I’ve found that chrome backs itself up as old_chrome in case the update goes bad, it can still run something.

So is the way to do this to create a helper application that comes as part of the install package, that you transfer execution into (I assume that’s somehow doable), and that helper application does the file renaming and relaunches chrome.exe when it’s done? (If so, assumedly this helper application is in turn deleted by chrome.exe on launch, explaining why I don’t see it sitting around.) There’s no way to simply have chrome.exe rename itself to old_chrome.exe and copy in and launch the new chrome.exe is there?

If this is the best way to make something like this work, are there any pre-built solutions to do this that I could just roll into my project, given that this seems like fairly generic functionality, or would I have to roll something like this myself?

Alternatively, if there’s a better way, what is it? (For what it’s worth, Chrome’s approach strikes me as much more elegant and straightforward than Mozilla’s new approach using services)

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-02T20:11:03+00:00Added an answer on June 2, 2026 at 8:11 pm

    Okay, got this working, here’s how it works.

    There’s no need for a helper application. At least on Windows, a program can be renamed in place, it just can’t be deleted. Therefore, I added an updater routine to my program, and it downloads the new file. After download is complete, it renames the old executable, and moves the new executable into its spot.

    Then, you can simply execute the new executable from inside the old one’s running process, and then quit the old one.

    Voila, no-escalation swap of a new version for the old.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Google chrome has a very nice speech recognition control in it's browser. For example
Google Chrome is set as my default browser (on Windows 7). However, when I
Google chrome doesn't behave the same as other browsers when encountering this nugget: <?php
Google Maps API V3 doesn't support the V2 GOverviewMapControl option, yet. I've come across
Google uses bsdiff and Courgette for patching binary files like the Chrome distribution. Do
Google has indexed certain pages in my website that I wouldn't like users to
Google Chrome is throwing Uncaught TypeError: Cannot set property 'isDown' of undefined but it
Google Chrome appears to proactively enforce client-side validation. Here is an example of what
Google Analytics' new version has Real Time (beta) , and it is able to
Google Maps has the Drawing library to draw Polylines and Polygons and other things.

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.