10. februar 2006 - 15:07Der 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?
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
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?
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.
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.
Synes godt om
Ny brugerNybegynder
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.