Oppure

Loading
13/03/13 9:56
88davide88
Buongiorno a tutti,

ho una finestra in visual basic che praticamente appare ad un utente, questo utente può cliccare solo su installa e una volta cliccato dovrebbe far partire il programma bat legato al click del mouse su installa.
Il codice della finestra è questo:


Public Class progetto


    Private Sub OK_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles OK.Click
        
        Shell("D:\Progetto.bat", vbNormalNoFocus, , True)

        Me.Close()

    End Sub


End Class





però mi da errore e non va ma non so perchè.
Eventualmente tutti i comandi che ci sono nel bat si possono mettere in vb così evito di richiamare il file bat?
aaa
13/03/13 12:12
ampeg
trattasi di vb.net e non vb6

comunque....

però mi da errore e non va ma non so perchè.


se non posti l'errore sarà difficile che qualcuno possa aiutarti

Eventualmente tutti i comandi che ci sono nel bat si possono mettere in vb così evito di richiamare il file bat?


eventualmente si, ma se non posti il contenuto del file bat non lo sapremo mai
aaa
13/03/13 13:18
88davide88
errore risolto spostando il file vb nella stessa cartella di dove è presente il bat anche se secondo me non è necessario dato che io do il percorso di dove prendere il bat.
I comandi del bat sono:


rmdir /S /Q d:Temp
sleep 5
robocopy.exe "Applicativi" "D:\Temp" /move /e
attrib +h  "D:\Temp"
Sleep 5
msiexec /x {9DF9624D-C7C7-2BDA-0324-37997B76BFD4} /q REBOOT=ReallySuppress
sleep 5
TASKKILL /F /IM "Google Chrome.exe" /T
sleep 2
TASKKILL /F /IM "Microsoft Excel 2010.exe" /T
sleep 2
rmdir /S /Q "D:\Google Chrome\Sandboxes"
sleep 2
SET TEMP=D:\TempThinapp
sleep 5
SET TMP=D:\TempThinapp
sleep 5
msiexec /i "D:\Temp - Windows Internet Explorer 8 ITA.msi" INSTALLDIR="d:\applicativi "
sleep 5




comandi di questo tipo.
Si può?
aaa
14/03/13 7:34
ampeg
sono normali comandi DOS le cui azioni possono essere riprodotte facilmente da codice

cercati su google cosa fa ognuno dei comandi con le relative opzioni e come poterli replicare in VB

oppure guarda qua
pcsupport.about.com/od/commandlinereference/tp/…

oppure la via più semplice sarebbe creare il file bat a runtime scrivendoci dentro la stringa con i comandi e lanciarlo

una cosa... il comando "sleep" è stato sostituito dal comando "timeout" a partire da Vista
Ultima modifica effettuata da ampeg 14/03/13 7:48
aaa
14/03/13 7:56
88davide88
Ma io so esattamente cosa fanno questi comandi in DOS, li ho scritti io e funzionano tutti, solo che non so come scriverli in VB, non so "convertirli" in VB per questo che chiedevo.
I pc su cui devo lanciarli sono tutti XP quindi penso che vada bene sleep, confermi ?
aaa
15/03/13 9:05
88davide88
Ho avuto qualche problema con il msiexec poichè mi chiede di eseguire il programma, invece a me serve che lo faccia in modo silente, non deve interagire con l'utente (specifico: i file che devo lancire sono .msi) e poi avrei bisogno che si installassero in una cartella che dico io, non quella che c'è di default nell' msi.
Ho anche un problema con il taskkill perchè praticamente non killa i processi che mi servono.

Comunque grazie per le risposte.
Mi sei stato utilissimo :k::k:
aaa
15/03/13 9:05
88davide88
Ho avuto qualche problema con il msiexec poichè mi chiede di eseguire il programma, invece a me serve che lo faccia in modo silente, non deve interagire con l'utente (specifico: i file che devo lancire sono .msi) e poi avrei bisogno che si installassero in una cartella che dico io, non quella che c'è di default nell' msi.
Ho anche un problema con il taskkill perchè praticamente non killa i processi che mi servono.

Comunque grazie per le risposte.
Mi sei stato utilissimo :k::k:
aaa