Avatar billede suuun Nybegynder
10. februar 2006 - 15:07 Der er 2 kommentarer og
1 løsning

Problemer under .run og .exec af setup.exe fil

Hej.

Jeg arbejder paa at lave et simpelt VBScript der skal kalde en setup.exe fil der ligger paa et netvaerk. Mit problem er at scriptet er faerdigt laenge foer setup processen er, og der kommer derfor smaafejl.

Det jeg gerne vil opnaa er at scriptet venter indtil hele setup processen er faerdig inden det gaar videre. Jeg har provet med foelgende:

Dim objShell
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.CurrentDirectory = "...program path..."
return = objShell.Run("setup.exe", 1, true)

Den 3. parameter i .Run burde goere at der ventes indtil processen er helt faerdig, men det goer den ikke. Jeg har ogsaa proevet paa denne maade:

Set objShell = WScript.CreateObject("WScript.Shell")
objShell.CurrentDirectory = "...program path..."
Set objExec = objShell.Exec("setup.exe")
If Err = 0 Then
    Do While objExec.Status = 0
    Wscript.Sleep 500
    Loop
End If

Her faar jeg saa en irriternede besked, og setup udfoeres ikke:

Windows XP setup
"Please go to Control Panel to install and configure system components"

For at undgaa denne besked har jeg proevet at slette AUTORUN.INF filen, da jeg havde en ide om at det var denne der skabte problemer - uden forbedringer.

Er der nogen der kan se noget galt i det jeg har proevet, eller er der nogen der har ideer til hvordan dette ellers saa simple script kan lavet?

Suuun.
Avatar billede tjp Mester
11. februar 2006 - 02:26 #1
Beskeden i den anden version, 'Windows XP setup "Please go to Control Panel to install and configure system components"', skyldes at du har fat i windows egen 'setup.exe', da 'Exec' åbenbart er ligeglad med 'CurrentDirectory'. Kan evt. undgås ved 'Set objExec = objShell.Exec("...program path...\setup.exe")'.
Den første version virker hos mig (dog kun prøvet lokalt), men har du prøvet at udksrive return for sjov? Og er du sikker på din 'setup.exe' virker som den skal?
Avatar billede suuun Nybegynder
13. februar 2006 - 08:46 #2
Hej tjp

Mit problem er at det er et andet program (CMF - Computer Maintainance Framework) der skal varetage installationen, og dette program mener ikke at installationen bliver udfoert korrekt i min foerste version. Tror dette skyldes at scriptet afsluttes inden setup processen er faerdig - det er dette problem mit spoergsmaal koerer paa.

Hvis jeg skriver hele "...program path...\setup.exe" i en linie, faar jeg fejlen: "Cannot change to directory G:\....\English!!" Tror det er fordi det er muligt at koere forskellige sprog under setup. Derfor proever jeg at saette path'en foerst. Er der evt. nogen der har en anden maade at goere dette paa?

Return er 0 hele tiden. Baade foer og efter setup.exe koerer. Har proevet at teste paa denne paa forskellige maader, men uden resultat. Og ja - setup.exe virker fint.
Avatar billede suuun Nybegynder
14. februar 2006 - 08:34 #3
Det viste sig at der var et andet problem med CMF, som jeg ikke var opmaerksom paa, saa mit script i sig selv virkede fint.

Spoergsmaal lukket.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester