Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. exe file replace using QProcess
Forum Updated to NodeBB v4.3 + New Features

exe file replace using QProcess

Scheduled Pinned Locked Moved Solved General and Desktop
29 Posts 5 Posters 8.9k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M mrjj
    14 Dec 2015, 18:37

    @4j1th
    Maybe its something basic ?
    Like spaces in file path ?

    4 Offline
    4 Offline
    4j1th
    wrote on 14 Dec 2015, 18:44 last edited by
    #8

    @mrjj use the out from qDebug() << currentpath; then run it on cmd works

    Pardon my English
    Thank you.

    M 1 Reply Last reply 14 Dec 2015, 18:46
    0
    • 4 4j1th
      14 Dec 2015, 18:44

      @mrjj use the out from qDebug() << currentpath; then run it on cmd works

      M Offline
      M Offline
      mrjj
      Lifetime Qt Champion
      wrote on 14 Dec 2015, 18:46 last edited by mrjj
      #9

      @4j1th
      Hmm. i think might need to run cmd also as del is part of command.exe.
      http://stackoverflow.com/questions/21596104/how-to-execute-a-cmd-command-using-qprocess
      he uses "cmd"
      something like
      process->start("cmd", QStringList() << "del " << currentpath);
      maybe ?

      K 4 2 Replies Last reply 14 Dec 2015, 18:51
      1
      • M mrjj
        14 Dec 2015, 18:46

        @4j1th
        Hmm. i think might need to run cmd also as del is part of command.exe.
        http://stackoverflow.com/questions/21596104/how-to-execute-a-cmd-command-using-qprocess
        he uses "cmd"
        something like
        process->start("cmd", QStringList() << "del " << currentpath);
        maybe ?

        K Offline
        K Offline
        kshegunov
        Moderators
        wrote on 14 Dec 2015, 18:51 last edited by
        #10

        @4j1th said:

        I am trying to update my soft. itself in windows, I can't replace a running exe itself with in so I try to do it by using QProcess.

        You can't, the OS will lock the file and will not allow you to modify it. It doesn't matter if you use QProcess or cmd, or explorer, it will not work.

        Read and abide by the Qt Code of Conduct

        4 1 Reply Last reply 14 Dec 2015, 19:16
        1
        • M mrjj
          14 Dec 2015, 18:46

          @4j1th
          Hmm. i think might need to run cmd also as del is part of command.exe.
          http://stackoverflow.com/questions/21596104/how-to-execute-a-cmd-command-using-qprocess
          he uses "cmd"
          something like
          process->start("cmd", QStringList() << "del " << currentpath);
          maybe ?

          4 Offline
          4 Offline
          4j1th
          wrote on 14 Dec 2015, 19:07 last edited by
          #11

          @mrjj no luck it can't delete any file

          Pardon my English
          Thank you.

          1 Reply Last reply
          0
          • K kshegunov
            14 Dec 2015, 18:51

            @4j1th said:

            I am trying to update my soft. itself in windows, I can't replace a running exe itself with in so I try to do it by using QProcess.

            You can't, the OS will lock the file and will not allow you to modify it. It doesn't matter if you use QProcess or cmd, or explorer, it will not work.

            4 Offline
            4 Offline
            4j1th
            wrote on 14 Dec 2015, 19:16 last edited by 4j1th
            #12

            @kshegunov so you're suggesting me to write another programme to run update

            But this idea works on linux.

            Pardon my English
            Thank you.

            M 1 Reply Last reply 14 Dec 2015, 19:19
            0
            • 4 4j1th
              14 Dec 2015, 19:16

              @kshegunov so you're suggesting me to write another programme to run update

              But this idea works on linux.

              M Offline
              M Offline
              mrjj
              Lifetime Qt Champion
              wrote on 14 Dec 2015, 19:19 last edited by
              #13

              @4j1th
              Hi
              just tested in win 7.
              it wont allow to delete running exe.

              Linux will, i know. but Windows wont allow.

              4 1 Reply Last reply 14 Dec 2015, 19:26
              0
              • M mrjj
                14 Dec 2015, 19:19

                @4j1th
                Hi
                just tested in win 7.
                it wont allow to delete running exe.

                Linux will, i know. but Windows wont allow.

                4 Offline
                4 Offline
                4j1th
                wrote on 14 Dec 2015, 19:26 last edited by
                #14

                @mrjj can you delete any other file, I can't do it either

                Pardon my English
                Thank you.

                M 1 Reply Last reply 14 Dec 2015, 19:31
                1
                • 4 4j1th
                  14 Dec 2015, 19:26

                  @mrjj can you delete any other file, I can't do it either

                  M Offline
                  M Offline
                  mrjj
                  Lifetime Qt Champion
                  wrote on 14 Dec 2015, 19:31 last edited by
                  #15

                  @4j1th
                  hi

                   QProcess process;
                      process.start("cmd", QStringList() <<"/C" << "del" << "e:/test.txt " );
                  

                  this delete the file i put on e:\

                  4 1 Reply Last reply 14 Dec 2015, 19:47
                  1
                  • M mrjj
                    14 Dec 2015, 19:31

                    @4j1th
                    hi

                     QProcess process;
                        process.start("cmd", QStringList() <<"/C" << "del" << "e:/test.txt " );
                    

                    this delete the file i put on e:\

                    4 Offline
                    4 Offline
                    4j1th
                    wrote on 14 Dec 2015, 19:47 last edited by
                    #16

                    @mrjj @kshegunov

                    you're right, can't replace running exe, so I think the best way to update is write an another app for updation right?

                    Pardon my English
                    Thank you.

                    M 1 Reply Last reply 14 Dec 2015, 19:51
                    1
                    • 4 4j1th
                      14 Dec 2015, 19:47

                      @mrjj @kshegunov

                      you're right, can't replace running exe, so I think the best way to update is write an another app for updation right?

                      M Offline
                      M Offline
                      mrjj
                      Lifetime Qt Champion
                      wrote on 14 Dec 2015, 19:51 last edited by
                      #17

                      @4j1th
                      Well even another program cannot override the exe, so the updater must
                      close the running version.

                      4 1 Reply Last reply 14 Dec 2015, 19:57
                      1
                      • M mrjj
                        14 Dec 2015, 19:51

                        @4j1th
                        Well even another program cannot override the exe, so the updater must
                        close the running version.

                        4 Offline
                        4 Offline
                        4j1th
                        wrote on 14 Dec 2015, 19:57 last edited by
                        #18

                        @mrjj Thank you for your help, this is the second time you help me like a guru

                        Thank you

                        Pardon my English
                        Thank you.

                        M 1 Reply Last reply 14 Dec 2015, 20:01
                        0
                        • 4 4j1th
                          14 Dec 2015, 19:57

                          @mrjj Thank you for your help, this is the second time you help me like a guru

                          Thank you

                          M Offline
                          M Offline
                          mrjj
                          Lifetime Qt Champion
                          wrote on 14 Dec 2015, 20:01 last edited by
                          #19

                          @4j1th
                          You are most welcome :)
                          The exe you are trying to update. is it your own program?

                          4 1 Reply Last reply 14 Dec 2015, 20:02
                          0
                          • M mrjj
                            14 Dec 2015, 20:01

                            @4j1th
                            You are most welcome :)
                            The exe you are trying to update. is it your own program?

                            4 Offline
                            4 Offline
                            4j1th
                            wrote on 14 Dec 2015, 20:02 last edited by
                            #20

                            @mrjj yes

                            Pardon my English
                            Thank you.

                            M 1 Reply Last reply 14 Dec 2015, 20:04
                            0
                            • 4 4j1th
                              14 Dec 2015, 20:02

                              @mrjj yes

                              M Offline
                              M Offline
                              mrjj
                              Lifetime Qt Champion
                              wrote on 14 Dec 2015, 20:04 last edited by
                              #21

                              @4j1th
                              Ok. that makes it easier to get it to close. :)
                              Will user check for update from inside the program or how will that happen?
                              (if i may ask)

                              4 2 Replies Last reply 14 Dec 2015, 20:10
                              0
                              • M mrjj
                                14 Dec 2015, 20:04

                                @4j1th
                                Ok. that makes it easier to get it to close. :)
                                Will user check for update from inside the program or how will that happen?
                                (if i may ask)

                                4 Offline
                                4 Offline
                                4j1th
                                wrote on 14 Dec 2015, 20:10 last edited by 4j1th
                                #22

                                @mrjj When the app starts it checks for update if available-> ask for update permission(user) -> invoke the updater using QProcess -> as you said close the app -> download and replace the exe

                                Pardon my English
                                Thank you.

                                1 Reply Last reply
                                0
                                • M mrjj
                                  14 Dec 2015, 20:04

                                  @4j1th
                                  Ok. that makes it easier to get it to close. :)
                                  Will user check for update from inside the program or how will that happen?
                                  (if i may ask)

                                  4 Offline
                                  4 Offline
                                  4j1th
                                  wrote on 16 Dec 2015, 18:05 last edited by
                                  #23

                                  @mrjj Qt installer framework can replace a running exe and dll I don't know how!

                                  Pardon my English
                                  Thank you.

                                  M 1 Reply Last reply 16 Dec 2015, 18:25
                                  0
                                  • 4 4j1th
                                    16 Dec 2015, 18:05

                                    @mrjj Qt installer framework can replace a running exe and dll I don't know how!

                                    M Offline
                                    M Offline
                                    mrjj
                                    Lifetime Qt Champion
                                    wrote on 16 Dec 2015, 18:25 last edited by
                                    #24

                                    @4j1th said:
                                    well on windows its not so hard using windows API.

                                    1 Reply Last reply
                                    0
                                    • R Offline
                                      R Offline
                                      Rondog
                                      wrote on 16 Dec 2015, 19:19 last edited by
                                      #25

                                      There is a link to an article that talks about this problem and possible solutions. http://www.catch22.net/tuts/self-deleting-executables on Windows.

                                      I, personally, would try to keep this sane. A separate updating utility that closes the original program and replaces or removes whatever should be replaced or removed is probably the safest thing to do.

                                      K 1 Reply Last reply 16 Dec 2015, 23:50
                                      1
                                      • R Rondog
                                        16 Dec 2015, 19:19

                                        There is a link to an article that talks about this problem and possible solutions. http://www.catch22.net/tuts/self-deleting-executables on Windows.

                                        I, personally, would try to keep this sane. A separate updating utility that closes the original program and replaces or removes whatever should be replaced or removed is probably the safest thing to do.

                                        K Offline
                                        K Offline
                                        kshegunov
                                        Moderators
                                        wrote on 16 Dec 2015, 23:50 last edited by
                                        #26

                                        @Rondog

                                        I, personally, would try to keep this sane. A separate updating utility that closes the original program and replaces or removes whatever should be replaced or removed is probably the safest thing to do.

                                        I completely agree!

                                        Read and abide by the Qt Code of Conduct

                                        1 Reply Last reply
                                        0
                                        • S Offline
                                          S Offline
                                          SGaist
                                          Lifetime Qt Champion
                                          wrote on 17 Dec 2015, 00:03 last edited by
                                          #27

                                          Hi,

                                          One possibility would be to use the Qt Installer Framework that, AFAIK, has an updating functionality

                                          Interested in AI ? www.idiap.ch
                                          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                          4 1 Reply Last reply 17 Dec 2015, 15:42
                                          0

                                          17/29

                                          14 Dec 2015, 19:51

                                          • Login

                                          • Login or register to search.
                                          17 out of 29
                                          • First post
                                            17/29
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved