wappl
Grünschnabel
Hallo zusammen,
habe mir in Visual Basic.net eine kleine EXE-Datei erstellt um verschiedene Programme auszuwählen. Nach der Auswahl soll sie mir eine CMD-Datei erstellen. Über die CMD-Datei lasse ich die Programme dann installieren.
Jetzt habe ich folgendes Problem:
Wenn ich nur ein Programm auswähle, erzeugt sie mir eine leere CMD-Datei, und wenn ich mehrer Programme auswähle erzeugt sie mir nicht alles. Was mache ich da falsch?
Hier nun ein Auszu aus meinem Code:
Das wird dann z.B. erzeugt, wenn ich mehrere Programme auswähle:
Bin euch dankbar für jede Hilfe. Falls jemand das Packet zur Einsicht haben möchte, muß er mir einfach seine email-Adresse bekanntgeben. es ist gepackt etwa 1,1 mb groß, und mit Visual Basic.NET 2003 programmiert.
Gruß pastl
Ihr könnt mir auch eine email schreiben:
pastl1@cable.vol.at
habe mir in Visual Basic.net eine kleine EXE-Datei erstellt um verschiedene Programme auszuwählen. Nach der Auswahl soll sie mir eine CMD-Datei erstellen. Über die CMD-Datei lasse ich die Programme dann installieren.
Jetzt habe ich folgendes Problem:
Wenn ich nur ein Programm auswähle, erzeugt sie mir eine leere CMD-Datei, und wenn ich mehrer Programme auswähle erzeugt sie mir nicht alles. Was mache ich da falsch?
Hier nun ein Auszu aus meinem Code:
Code:
Imports System
Imports System.IO
Imports Microsoft.Win32
Public Class Form1
Inherits System.Windows.Forms.Form
#Region " Vom Windows Form Designer generierter Code "
Private Sub NoInst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NoInst.Click
Close()
End Sub
Private Sub StartInst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StartInst.Click
On Error GoTo ErrHandler
Dim SysDir As String
Dim CMDFile As String
Dim InstDrive As String
Dim InstallPath As String
SysDir = Environ("SystemDrive") 'Systempartition ermitteln
CMDFile = SysDir & "\install\xpaisw\xpaisw.cmd" 'Pfad / Name der Installationsdatei
Dim File As New System.IO.StreamWriter(CMDFile)
Dim fs, d, dc, s, n
fs = CreateObject("Scripting.FileSystemObject")
dc = fs.Drives
For Each d In dc
If d.DriveType = 4 Then
Dim xpaisw As New FileInfo(d.driveletter & ":SETUP\XP\Professional\$OEM$\$1\install\xpaisw\xpaisw.exe")
If xpaisw.Exists Then
InstDrive = d.driveletter & ":"
InstallPath = d.driveletter & ":\install\"
End If
End If
Next
dc = Nothing
fs = Nothing
' CMD-Datei
File.WriteLine("@ECHO OFF")
File.WriteLine("TITLE XPAISW: Software wird installiert...")
If CheckTrillian.Checked Then
File.WriteLine("ECHO Installiere Alcohol 120%... [ca. 00 Min. 40 Sek.]")
File.WriteLine("start /wait " & InstDrive & "\Software\Alcohol120\setup.exe /qn")
End If
***** und ca. 30 weitere If-Bedingungen
'Installationsquellen löschen
If CheckDelResource.Checked Then
File.WriteLine("ECHO Lösche Installationsverzeichnisse...")
File.WriteLine("RD /S /Q %systemdrive%\Install")
''generierte CMD-Datei ausführen
Dim retval As Double
retval = Shell(CMDFile, vbNormalFocus)
ErrHandler:
On Error GoTo 0
Close()
Application.Exit()
End Sub
' Reg-Abfrage, ob Programm schon installiert ist
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If SWinstalled("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{E4DC62CE-5F95-11D6-B254-00C04FF4B435}") = True Then
CheckBox25.Checked = False
CheckBox25.Enabled = False
End If
***** und ca. 30 weitere If-Bedingungen
End Sub
' Auswal löschen/zurücksetzen
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
CheckBox25.Checked = False
***** und ca. 30 weitere False-Bedingungen
End Sub
'Alles auswählen
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
CheckBox25.Checked = True
If SWinstalled("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{E4DC62CE-5F95-11D6-B254-00C04FF4B435}") = True Then
CheckBox25.Checked = False
CheckBox25.Enabled = False
End If
***** und ca. 30 weitere If-Bedingungen
End Sub
' Funktion zur REG-Überprüfung
Function SWinstalled(ByVal RegKey As String) As Boolean
Dim OpenKey As RegistryKey
OpenKey = Registry.LocalMachine.OpenSubKey(RegKey, False)
If (Not OpenKey Is Nothing) Then
SWinstalled = True
OpenKey.Close()
Else
SWinstalled = False
End If
End Function
End Class
Das wird dann z.B. erzeugt, wenn ich mehrere Programme auswähle:
Code:
ECHO OFF
TITLE XPAISW: Software wird installiert...
ECHO Installiere Norton Internet Securety 2004...[ca. 02 Min. 10 Sek.]
start /wait \Software\Internet2004\SYMSETUP.EXE /qn REBOOT=REALLYSUPPRESS
start /wait %systemdrive%\install\Sleep.exe /100
ECHO Installiere McAfee VirusScan 7 pro... [ca. Min. Sek.]
start /wait \Software\VSP7\VSP.msi /qn FASTOEM=1
start /wait %systemdrive%\install\Sleep.exe /60
ECHO Installiere ISO Buster 1.5... [ca. 00 Min. 20 Sek.]
star
Bin euch dankbar für jede Hilfe. Falls jemand das Packet zur Einsicht haben möchte, muß er mir einfach seine email-Adresse bekanntgeben. es ist gepackt etwa 1,1 mb groß, und mit Visual Basic.NET 2003 programmiert.
Gruß pastl
Ihr könnt mir auch eine email schreiben:
pastl1@cable.vol.at
Anhänge
Zuletzt bearbeitet: