Runtime.getRuntime().exec Windows 7

0

Cześć.

Nie mogę wyszukać czy temat już był (ciągle mam komunikat Brak połączenia z serwerem wyszukiwarki).

Mam problem z wywołanie innego programu przy pomocy Runtime.getRuntime().exec pod Windows 7 (na XP jest OK)

Test.exe:

 
Runtime.getRuntime().exec("updater.exe update");

z kolei po wykonaniu pewnych czynności przez program updater.exe

 
Runtime.getRuntime().exec("test.exe update");

Wszystkie parametry są potrzebne. Gdy pojawił się komunikat ze zezwoleniem na wykonanie to potwierdziłem i nadal nie działa.

W czym może być problem?

Moja wersja JVM: 1.6.0.20

0

Wyjątek:

CreateProcess error=740

0

Próbowałem rozwiązania znalezionego gdzieś na sieci:

String workingDir = System.getProperty("user.dir");
String exeName = "Test.exe";
String cmd = workingDir + "/" + exeName + " -update";
Runtime.getRuntime().exec(cmd, null, new File(workingDir));

i też nie działa

0

Na moje oko winę za to ponosi debilizm Microsoftu... Oni tak lubią, gdy coś nie działa i nie można znaleźć przyczyny. :<

coś googlnąłem
http://mark.koli.ch/2009/12/uac-prompt-from-java-createprocess-error740-the-requested-operation-requires-elevation.html

0

Wciąż nie mam rozwiązania. Mam 2 systemy Windows 7 (na obu ta sama JVM), na obu wyłączona kontrola UAC, a jednym komputerze nadal pojawia się * CreateProcess error=740, ??dana operacja wymaga podniesienia uprawni*

Próbowałem dodać manifest:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
  <assemblyIdentity version="1.0.0.0"
     processorArchitecture="X86"
     name="IsUserAdmin"
     type="win32"/> 
  <description>Description of your application</description> 
  <!-- Identify the application security requirements. -->
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel
          level="requireAdministrator"
          uiAccess="false"/>
        </requestedPrivileges>
       </security>
  </trustInfo>
</assembly>
 
0

No to się debilnie spytam - na jakim użytkowniku wywołujesz tego runtime'a? Ma prawa administratora? odpalałeś to samo polecenie w linii komend i działa poprawnie?

0

Nie ma znaczenia na którym użytkowniku. Admin czy zwykłu user to nie działa. "Problemem" była nazwa pliku Updater.exe ;-) Wystarczy wyrzucić z nazwy słowo update i działa OK. Fajny bajer w Windowsie ;-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1