Hallo zusammen,
habe mir in Visual Basic 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. Verwende das für meine Unbeaufsichtigte Windows-Installations DVD.
Jetzt habe ich folgendes Problem:
Wenn ich nur ein Programm auswähle, kompiliert er mir eine leere CMD-Datei, und wenn ich mehrer Programme auswähle kompiliert er 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
File.WriteLine("@ECHO OFF")
File.WriteLine("TITLE XPAISW: Software wird installiert...")
File.WriteLine("ECHO -----------------------------------------------------------------------")
File.WriteLine("ECHO XPAI Softwareinstallation ")
File.WriteLine("ECHO -----------------------------------------------------------------------")
File.WriteLine("ECHO.")
'Office/Securety
'microsoft
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")
File.WriteLine("REGEDIT /S " & InstDrive & "\Software\Alcohol120\alcohol.reg")
File.WriteLine("copy /Y " & InstDrive & "\Software\Alcohol120\DevSupp.dll %ProgramFiles%\Alcohol Soft\Alcohol 120")
File.WriteLine("start /wait %systemdrive%\install\Sleep.exe /5")
End If
File.WriteLine("ECHO -----------------------------------------------------------------------")
'Installationsquellen löschen
If CheckDelResource.Checked Then
File.WriteLine("ECHO Lösche Installationsverzeichnisse...")
File.WriteLine("RD /S /Q %systemdrive%\Install")
File.WriteLine("RD /S /Q %systemdrive%\Drivers")
End If
'generierte CMD-Datei ausführen
Dim retval As Double
retval = Shell(CMDFile, vbNormalFocus)
ErrHandler:
On Error GoTo 0
Close()
Application.Exit()
End Sub
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
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
CheckBox25.Checked = False
End Sub
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
End Sub
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[/code]Das kommt dabei raus wenn ich mehrere Programme auswähle:
[code]@ECHO OFF
TITLE XPAISW: Software wird installiert...
ECHO -----------------------------------------------------------------------
ECHO XPAI Softwareinstallation
ECHO -----------------------------------------------------------------------
ECHO.
ECHO Installiere Norton Antivirus 2004... [ca. 01 Min. 50 Sek.]
start /wait \Software\Antivirus2004\NAVSETUP.EXE /qn REBOOT=SUPPRESS
taskkill /F /IM Navwnt.exe
start /wait %systemdrive%\install\Sleep.exe /45
ECHO Installiere Norton Internet Securety 2004...[ca. 02 Min. 10 Sek.]
start /wait \Software\Internet2004\SYMSETUP.EXE /qn REBOOT=REALLYSUPPRESS
taskkill /F /IM PCWiz.exe
taskkill /F /IM HNetWiz.exe
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[/code]
Bin euch dankbar für jede Hilfe.
Gruß pastl
Ihr könnt mir auch eine email schreiben:
pastl1@cable.vol.at
Betreff |
Von |
Datum |
|
|
Re: Fehler in EXE-Datei
Hallo pastl<br><br>ich glaube Deine Frage bezieht sich eher auf VB.NET.<br>Poste sie doch bitte im richtigen Forum.<br><br>Gruß Chris |
|
|
|
|
|
Christian
Müller
|
03.06.2004 09:45 |
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!