Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 970
  • Last Modified:

Run Program from bat file

Hi I have a program that I want to install with some switches. I want to run the program the network.

"\\servername\dist$\Commercial Applications\OSGeo4W\osgeo4w-setup-x86.exe" -d -q -L -R c:\OSGeo4w -l "\\servername\dist$\Commercial Applications\OSGeo4W\http%3a%2f%2fdownload.osgeo.org%2fosgeo4w%2f\x86\release"

When I run it doesn't complete, however when I map a drive to the path and run
osgeo4w-setup-x86.exe -d -q -L -R c:\OSGeo4w -l "\\servername\dist$\Commercial Applications\OSGeo4W\http%3a%2f%2fdownload.osgeo.org%2fosgeo4w%2f\x86\release"

from command line it works perfectly, so I think its my understanding of how batch files work?
0
kwatt562
Asked:
kwatt562
  • 8
  • 5
  • 5
1 Solution
 
Alexander Eßer [Alex140181]Software DeveloperCommented:
do you need any login credentials for the shared network folder?! if yes, you'd have to pass them, too...
0
 
kwatt562Author Commented:
Hi, thanks, I am running as full domain admin with access to the PC and network
0
 
Alexander Eßer [Alex140181]Software DeveloperCommented:
When I run it doesn't complete
What do you mean with by that?! Any messages and/or errors?! Do you run it from command prompt or do you have a batch file?! If yes, it would be nice, if you could provide the batch file(s)...
0
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

 
kwatt562Author Commented:
It starts the installation then stops, within 1-2s, no errors or logs, I can then run immediately via command prompt (as above) and it completes the installation. sorry the first part in the question is the batch file, the second part is how I run it from command prompt (which works ok - when mapping a drive to the .exe file)
0
 
Alexander Eßer [Alex140181]Software DeveloperCommented:

To start a program and then close command prompt without waiting for program to exit:
start /d "path" file.exe

Maybe you give it a try. Nevertheless, a workaround would be to connect to  the shared folder via a temporary "net use", that would be deleted right after setup has completed...
0
 
Alexander Eßer [Alex140181]Software DeveloperCommented:
I suggest you change "start /d" with "start /w" as your batch script should have to wait for completion for the exe call...
0
 
kwatt562Author Commented:
If I understand correctly
start /W "\\servername\dist$\Commercial Applications\OSGeo4W\" osgeo4w-setup-x86.exe -d -q -L -R c:\OSGeo4w -l "\\servername\dist$\Commercial Applications\OSGeo4W\http%3a%2f%2fdownload.osgeo.org%2fosgeo4w%2f\x86\release"

Is that right?

I tested, it starts the installer and then says "cannot find '-d'. Make sure you typed the name correctly, and then try again.""
0
 
Alexander Eßer [Alex140181]Software DeveloperCommented:
"path" is the working/starting directory, heres some kind of reference:
http://ss64.com/nt/start.html

so it would rather be something like this:
start /W "" "\\servername\dist$\Commercial Applications\OSGeo4W\osgeo4w-setup-x86.exe" "-d -q -L -R c:\OSGeo4w -l \\servername\dist$\Commercial Applications\OSGeo4W\http%3a%2f%2fdownload.osgeo.org%2fosgeo4w%2f\x86\release"

Open in new window

0
 
Steve KnightIT ConsultancyCommented:
It is quite possible the installer tries to look into the current directory from other files when it is run from the UNC path the current directory will be c:\windows\system32 or wherver the batch file is.  I would suggest using:

@echo off
pushd "\\servername\dist$\Commercial Applications\OSGeo4W"
osgeo4w-setup-x86.exe" -d -q -L -R c:\OSGeo4w -l "\\servername\dist$\Commercial Applications\OSGeo4W\http%3a%2f%2fdownload.osgeo.org%2fosgeo4w%2f\x86\release"
popd

The pushd will map a temporary drive to unc listed and then change to that as the current dir.  popd removes it afterwards.

Steve
0
 
kwatt562Author Commented:
thanks everyone, the last two posts do the following
I don't get any errors, the exe runs (as I am prompted by UAC) then it just stops immediately
0
 
kwatt562Author Commented:
It has created the folder OSGeo4w in the root of C and there is some files there also some start menu programs, but hasn't installed the packages from \\servername\dist$\Commercial Applications\OSGeo4W\http%3a%2f%2fdownload.osgeo.org%2fosgeo4w%2f\x86\release
0
 
Steve KnightIT ConsultancyCommented:
Oh hang on I didn't look at your option here:

http%3a%2f%2fdownload.osgeo.org%2fosgeo4w%2f\x86\release

Do the %'s need to be passed through?  % is a special character in command.  You should try if possible to put it back to proper characters, i.e.

@echo off
pushd "\\servername\dist$\Commercial Applications\OSGeo4W"
osgeo4w-setup-x86.exe" -d -q -L -R c:\OSGeo4w -l "\\servername\dist$\Commercial Applications\OSGeo4W\http://download.osgeo.org/osgeo4w/\x86\release"
popd

If it needs those characters in there we can escape them with using %% in place of each %

Steve
0
 
kwatt562Author Commented:
I doubled the % symbols, seems to work better (in that the installer is running) but its asking questions (not silent) not sure why, will review and revert
thanks!
0
 
Steve KnightIT ConsultancyCommented:
OK, suggest launch a command prompt, run the pushd command to get the drive mapping, then try the command manually typed and see how it works silently or not for starters.

Ask if need any more pointers, don't forget to accept answers when done.

Steve
0
 
kwatt562Author Commented:
OK I got it to work
net use Z: "\\server\dist$\Commercial Applications\OSGeo4W"

start /W Z:\osgeo4w-setup-x86.exe -d -q --local-install -root c:\OSGeo4w -l "\\server\dist$\Commercial Applications\OSGeo4W\http%%3a%%2f%%2fdownload.osgeo.org%%2fosgeo4w%%2f\x86\release"

When I use net use and add the double %% it works, might be a spaces issue, but not sure when to add the quotes.

The only issue is that it leaves the drive mapped, tried adding net use Z: /delete but it ignores the command
0
 
Steve KnightIT ConsultancyCommented:
Use pushd / popd ... they map and the popd removes.  Yes when there is a space in the path with net use you will need " ".

you shouldn't need start /w ... all that does is start the exe and wait, you might aswell just put the exe name?

So it was the % being processed mainly then by the sounds as I suggested.

Steve
0
 
kwatt562Author Commented:
got it too work with
pushd \\serverdist$\Commercial Applications\OSGeo4W\

start /W osgeo4w-setup-x86.exe -d -q --local-install -root c:\OSGeo4w -l "\\server\dist$\Commercial Applications\OSGeo4W\http%%3a%%2f%%2fdownload.osgeo.org%%2fosgeo4w%%2f\x86\release"
popd


thanks!!
0
 
Steve KnightIT ConsultancyCommented:
No problem, glad we got there in the end!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 8
  • 5
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now