• 9tr6gyp3@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    5 hours ago

    No, because you wouldn’t be able to execute the updated exe without a valid signature. You would essentially brick the install with that method, and probably upset Microsoft’s security software in the process.

    • yetAnotherUser@discuss.tchncs.de
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      3 hours ago

      I meant the old .exe would check the signatures before initializing the official Windows way to update. Effectively have this run whenever you start the application:

      main() {
          if (update_available()) {
              exe_path = download_update()
              if (signature(exe_path) == SIGNATURE) {
                  install_update(exe_path)
                  restart()
              } else {
                  put_up_a_warning_or_something()
                  delete(exe_path)
              }
          }
      # Rest of the application
      # ...
      }
      

      The only thing I have no idea how to implement would be the install_update(path) function. But surely this is one way to install updates without signatures recognized by Microsoft, right?

      And if for some reason you aren’t allowed to sign the .exe because this breaks something, then place an unsigned .exe in a signed zip folder.

        • yetAnotherUser@discuss.tchncs.de
          link
          fedilink
          arrow-up
          1
          ·
          28 minutes ago

          I don’t know enough about Windows app development to answer this. Maybe it replaces the old .exe and the now replaced .exe is just continuing to run from RAM? Maybe there is some restarter.exe program in the same folder that does all the work. In any case, this depends far too much on the Windows update process and how to launch applications.

          I just know when I used Windows applications in the past, they were able to restart themselves after updating somehow.