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. How to run .exe file from absolute path with button click
QtWS25 Last Chance

How to run .exe file from absolute path with button click

Scheduled Pinned Locked Moved General and Desktop
21 Posts 4 Posters 9.0k Views
  • 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.
  • P Offline
    P Offline
    Phani Madhavi
    wrote on last edited by
    #1

    can any one help me exactly where i have to keep that .exe file which should open on buttton click.

    1 Reply Last reply
    0
    • K Offline
      K Offline
      koahnig
      wrote on last edited by
      #2

      The location of your exe is basically irrelevant. More important is the presense of required dlls. Checkout for "this for more details.":http://qt-project.org/doc/qt-5/windows-deployment.html

      Vote the answer(s) that helped you to solve your issue(s)

      1 Reply Last reply
      0
      • P Offline
        P Offline
        Phani Madhavi
        wrote on last edited by
        #3

        i need the code of button-click event.(just to run some patcher.exe file)

        1 Reply Last reply
        0
        • M Offline
          M Offline
          msue
          wrote on last edited by
          #4

          If you use QProcess::startDetached you can start the program in any "working directory". Just mention it in the 3rd parameter.

          1 Reply Last reply
          0
          • P Offline
            P Offline
            Phani Madhavi
            wrote on last edited by
            #5

            QString fullProgramPath =QDir::currentPath();
            fullProgramPath.append("/Patcher.exe");
            QStringList arguments;
            arguments << "install";
            QProcess::startDetached(fullProgramPath, arguments);

            anything wrong in it?

            1 Reply Last reply
            0
            • M Offline
              M Offline
              msue
              wrote on last edited by
              #6

              This should work if Patcher.exe is located parallel to the program you are running,

              But it may become wrong if you change the current directory during the run of your program.

              1 Reply Last reply
              0
              • P Offline
                P Offline
                Phani Madhavi
                wrote on last edited by
                #7

                actually what i need to do is...
                i should install an exe on button click.The things i need to understand
                1.Where should i place that exe file in my application
                2.How to run that through code

                1 Reply Last reply
                0
                • dheerendraD Offline
                  dheerendraD Offline
                  dheerendra
                  Qt Champions 2022
                  wrote on last edited by
                  #8

                  Can you try something very simple now from your main.

                  @ QProcess *proc = new QProcess;
                  QString progName = "c:/users/madhavi/Patcher";
                  proc->start(progName);
                  proc->errorString()
                  @
                  I'm assuming that your exe is in c:/users/madhavi directory. If you are able to run this, your first step is solved.

                  Now.

                  @ connect(pushButton,SIGNAL(clicked()),this,SLOT(launchPatch()));

                  void MyClass::LaunchPatch(){
                  qDebug() << "Show the Calcualtror"<<endl;

                   QProcess *proc = new QProcess;
                   QString progName = "c:/users/madhavi/Patcher";
                   proc->start(progName);
                   proc->errorString()
                   proc->errorString();
                   qDebug()<< " Started the process"<<endl;
                  

                  }
                  @

                  This should solve your issue.

                  Dheerendra
                  @Community Service
                  Certified Qt Specialist
                  http://www.pthinks.com

                  1 Reply Last reply
                  0
                  • P Offline
                    P Offline
                    Phani Madhavi
                    wrote on last edited by
                    #9

                    not working...:(

                    1 Reply Last reply
                    0
                    • dheerendraD Offline
                      dheerendraD Offline
                      dheerendra
                      Qt Champions 2022
                      wrote on last edited by
                      #10

                      what is not working ? What is the error you get ? If you can paste your code we can help you better.

                      Dheerendra
                      @Community Service
                      Certified Qt Specialist
                      http://www.pthinks.com

                      1 Reply Last reply
                      0
                      • P Offline
                        P Offline
                        Phani Madhavi
                        wrote on last edited by
                        #11

                        i used the same.Am not getting any error message and no output. I used startDetached also. but still am not getting any output atleast error.

                        1 Reply Last reply
                        0
                        • dheerendraD Offline
                          dheerendraD Offline
                          dheerendra
                          Qt Champions 2022
                          wrote on last edited by
                          #12

                          If you can drop your code and how you are trying that will help. Can you try with some other executable to start the program ? This is just ensure that you don't have any problem starting new process from Qt.

                          Dheerendra
                          @Community Service
                          Certified Qt Specialist
                          http://www.pthinks.com

                          1 Reply Last reply
                          0
                          • P Offline
                            P Offline
                            Phani Madhavi
                            wrote on last edited by
                            #13

                            yes thank you. the problem is with exe file. I tried another exe as u said,it is working fine. finally got solution.:)

                            1 Reply Last reply
                            0
                            • dheerendraD Offline
                              dheerendraD Offline
                              dheerendra
                              Qt Champions 2022
                              wrote on last edited by
                              #14

                              This is cool. How about moving this Question to SOLVED state by editing the subject line of your question ?

                              Dheerendra
                              @Community Service
                              Certified Qt Specialist
                              http://www.pthinks.com

                              1 Reply Last reply
                              0
                              • P Offline
                                P Offline
                                Phani Madhavi
                                wrote on last edited by
                                #15

                                actually am trying to execute 4.50MB file(exe size)..is that that problem ?

                                1 Reply Last reply
                                0
                                • P Offline
                                  P Offline
                                  Phani Madhavi
                                  wrote on last edited by
                                  #16
                                  QProcess *proc = new QProcess;
                                       QString progName ="C:/Patcher";
                                        proc->start(progName);
                                        proc->errorString();
                                  
                                  1 Reply Last reply
                                  0
                                  • dheerendraD Offline
                                    dheerendraD Offline
                                    dheerendra
                                    Qt Champions 2022
                                    wrote on last edited by
                                    #17

                                    4.5 MB is not a issue at all. Is it not running ? May be there is dependency with some libraries. Check it.

                                    Dheerendra
                                    @Community Service
                                    Certified Qt Specialist
                                    http://www.pthinks.com

                                    1 Reply Last reply
                                    0
                                    • P Offline
                                      P Offline
                                      Phani Madhavi
                                      wrote on last edited by
                                      #18

                                      i can run that exe directly.but not able through code...

                                      1 Reply Last reply
                                      0
                                      • P Offline
                                        P Offline
                                        Phani Madhavi
                                        wrote on last edited by
                                        #19

                                        finally got solution by using
                                        QDesktopServices::openUrl(QUrl("file:///"+progName,QUrl::TolerantMode));

                                        1 Reply Last reply
                                        0
                                        • dheerendraD Offline
                                          dheerendraD Offline
                                          dheerendra
                                          Qt Champions 2022
                                          wrote on last edited by
                                          #20

                                          What is the error string you get ? I suspect the issue with dependency dlls not in path. Launching 4.5 MB exe is not issue.

                                          Dheerendra
                                          @Community Service
                                          Certified Qt Specialist
                                          http://www.pthinks.com

                                          1 Reply Last reply
                                          0

                                          • Login

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