@@ -370,38 +370,50 @@ Public Class ISOCreator
370
370
End Sub
371
371
372
372
Private Sub OpenFileDialog1_FileOk(sender As Object , e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
373
+ DynaLog.LogMessage( "Source image file to test: " & Quote & OpenFileDialog1.FileName & Quote)
373
374
TextBox1.Text = OpenFileDialog1.FileName
374
375
End Sub
375
376
376
377
Sub GetImageInfo(ImageFile As String )
378
+ DynaLog.LogMessage( "Image file to get information about: " & Quote & ImageFile & Quote)
379
+ DynaLog.LogMessage( "Checking if mounted image detector is busy..." )
377
380
ListView1.Items.Clear()
378
381
If MainForm.MountedImageDetectorBW.IsBusy Then
382
+ DynaLog.LogMessage( "Mounted image detector is busy. Stopping it..." )
379
383
MainForm.MountedImageDetectorBWRestarterTimer.Enabled = False
380
384
MainForm.MountedImageDetectorBW.CancelAsync()
381
385
While MainForm.MountedImageDetectorBW.IsBusy
382
386
Application.DoEvents()
383
387
Thread.Sleep( 500 )
384
388
End While
385
389
End If
390
+ DynaLog.LogMessage( "Checking if image status watchers are busy..." )
386
391
MainForm.WatcherTimer.Enabled = False
392
+ DynaLog.LogMessage( "Image status watchers might be busy. Stopping them if they are..." )
387
393
If MainForm.WatcherBW.IsBusy Then MainForm.WatcherBW.CancelAsync()
388
394
While MainForm.WatcherBW.IsBusy
389
395
Application.DoEvents()
390
396
Thread.Sleep( 100 )
391
397
End While
392
398
Try
399
+ DynaLog.LogMessage( "Initializing API..." )
393
400
DismApi.Initialize(DismLogLevel.LogErrors)
394
401
ImageInfoCollection = DismApi.GetImageInfo(ImageFile)
395
- For Each ImageInfo As DismImageInfo In ImageInfoCollection
396
- ListView1.Items.Add( New ListViewItem( New String () {
397
- (ImageInfoCollection.IndexOf(ImageInfo) + 1 ),
398
- ImageInfo.ImageName,
399
- ImageInfo.ImageDescription,
400
- ImageInfo.ProductVersion.ToString(),
401
- Casters.CastDismArchitecture(ImageInfo.Architecture)
402
- }))
403
- Next
402
+ DynaLog.LogMessage( "Information collection count: " & ImageInfoCollection.Count)
403
+ If ImageInfoCollection.Count > 0 Then
404
+ DynaLog.LogMessage( "This file has images. Updating lists..." )
405
+ For Each ImageInfo As DismImageInfo In ImageInfoCollection
406
+ ListView1.Items.Add( New ListViewItem( New String () {
407
+ (ImageInfoCollection.IndexOf(ImageInfo) + 1 ),
408
+ ImageInfo.ImageName,
409
+ ImageInfo.ImageDescription,
410
+ ImageInfo.ProductVersion.ToString(),
411
+ Casters.CastDismArchitecture(ImageInfo.Architecture)
412
+ }))
413
+ Next
414
+ End If
404
415
Catch ex As Exception
416
+ DynaLog.LogMessage( "Could not get image file information. Error message: " & ex.Message)
405
417
Dim msg As String = ""
406
418
Select Case MainForm.Language
407
419
Case 0
@@ -430,20 +442,26 @@ Public Class ISOCreator
430
442
End Select
431
443
MsgBox(msg, vbOKOnly + vbCritical, Label1.Text)
432
444
Finally
445
+ DynaLog.LogMessage( "Shutting down API..." )
433
446
Try
434
447
DismApi.Shutdown()
435
448
Catch ex As Exception
436
449
' Don't do anything
437
450
End Try
438
451
End Try
452
+ DynaLog.LogMessage( "This process has finished." )
439
453
Call MainForm.MountedImageDetectorBW.RunWorkerAsync()
440
454
End Sub
441
455
442
456
Private Sub SaveFileDialog1_FileOk(sender As Object , e As System.ComponentModel.CancelEventArgs) Handles SaveFileDialog1.FileOk
457
+ DynaLog.LogMessage( "Specified destination: " & Quote & SaveFileDialog1.FileName & Quote)
443
458
TextBox3.Text = SaveFileDialog1.FileName
444
459
End Sub
445
460
446
461
Private Sub OK_Button_Click(sender As Object , e As EventArgs) Handles OK_Button.Click
462
+ DynaLog.LogMessage( "Checking provided information..." )
463
+ DynaLog.LogMessage( "- Source image to add to ISO file: " & Quote & TextBox1.Text & Quote)
464
+ DynaLog.LogMessage( "- Destination ISO file: " & Quote & TextBox3.Text & Quote)
447
465
If TextBox1.Text = "" OrElse Not File.Exists(TextBox1.Text) Then
448
466
Select Case MainForm.Language
449
467
Case 0
@@ -574,12 +592,19 @@ Public Class ISOCreator
574
592
575
593
Private Sub BackgroundWorker1_DoWork(sender As Object , e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
576
594
BackgroundWorker1.ReportProgress( 0 )
595
+ DynaLog.LogMessage( "Starting PE Helper..." )
596
+ DynaLog.LogMessage( "- Task: generate ISO" )
597
+ DynaLog.LogMessage( "- Architecture: " & ComboBox1.SelectedItem)
598
+ DynaLog.LogMessage( "- Image file to test: " & Quote & TextBox1.Text & Quote)
599
+ DynaLog.LogMessage( "- Unattended answer file to try: " & Quote & TextBox4.Text & Quote)
600
+ DynaLog.LogMessage( "- Destination ISO file: " & Quote & TextBox3.Text & Quote)
577
601
Dim ISOCreator As New Process()
578
602
ISOCreator.StartInfo.FileName = Environment.GetFolderPath(Environment.SpecialFolder.Windows) & "\system32\WindowsPowerShell\v1.0\powershell.exe"
579
603
ISOCreator.StartInfo.WorkingDirectory = Application.StartupPath & "\bin\extps1\PE_Helper"
580
604
ISOCreator.StartInfo.Arguments = "-noprofile -nologo -executionpolicy unrestricted -file " & Quote & Application.StartupPath & "\bin\extps1\PE_Helper\PE_Helper.ps1" & Quote & " -cmd StartPEGen -arch " & ComboBox1.SelectedItem & " -imgFile " & Quote & TextBox1.Text & Quote & " -isoPath " & Quote & TextBox3.Text & Quote & " -unattendFile " & Quote & TextBox4.Text & Quote
581
605
ISOCreator.Start()
582
606
ISOCreator.WaitForExit()
607
+ DynaLog.LogMessage( "The PE Helper process finished with exit code " & Hex(ISOCreator.ExitCode))
583
608
success = (ISOCreator.ExitCode = 0 )
584
609
BackgroundWorker1.ReportProgress( 100 )
585
610
End Sub
@@ -600,6 +625,8 @@ Public Class ISOCreator
600
625
End Sub
601
626
602
627
Private Sub BackgroundWorker1_RunWorkerCompleted(sender As Object , e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted
628
+ DynaLog.LogMessage( "The PE Helper has finished." )
629
+ DynaLog.LogMessage( "- Did it succeed? " & If (success, "Yes" , "No" ))
603
630
Dim msg As String = ""
604
631
Select Case MainForm.Language
605
632
Case 0
@@ -636,6 +663,7 @@ Public Class ISOCreator
636
663
637
664
Private Sub ISOCreator_FormClosing(sender As Object , e As FormClosingEventArgs) Handles MyBase .FormClosing
638
665
If BackgroundWorker1.IsBusy Then
666
+ DynaLog.LogMessage( "The PE Helper is busy. Cancelling exit..." )
639
667
e.Cancel = True
640
668
Beep()
641
669
End If
@@ -644,12 +672,14 @@ Public Class ISOCreator
644
672
Private Sub Button2_Click(sender As Object , e As EventArgs) Handles Button2.Click
645
673
PopupImageManager.Location = Button2.PointToScreen(Point.Empty)
646
674
If PopupImageManager.ShowDialog() = DialogResult.OK Then
675
+ DynaLog.LogMessage( "Selected image: " & PopupImageManager.selectedImgFile)
647
676
TextBox1.Text = PopupImageManager.selectedImgFile
648
677
End If
649
678
End Sub
650
679
651
680
Private Sub TextBox1_TextChanged(sender As Object , e As EventArgs) Handles TextBox1.TextChanged
652
681
If TextBox1.Text <> "" And File.Exists(TextBox1.Text) Then
682
+ DynaLog.LogMessage( "The specified file exists. Getting information..." )
653
683
GetImageInfo(TextBox1.Text)
654
684
End If
655
685
End Sub
@@ -699,6 +729,7 @@ Public Class ISOCreator
699
729
End Sub
700
730
701
731
Private Sub OpenFileDialog2_FileOk(sender As Object , e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog2.FileOk
732
+ DynaLog.LogMessage( "Unattended answer file to test: " & Quote & OpenFileDialog2.FileName & Quote)
702
733
TextBox4.Text = OpenFileDialog2.FileName
703
734
End Sub
704
735
0 commit comments