In Visual Studio läuft es, als .exe nicht

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von HappyHippoSnack.

    In Visual Studio läuft es, als .exe nicht

    Hallo,

    ich bin am Rande der Verzweiflung, ich habe ein sehr einfaches Programm geschrieben welches im Grunde genommen nix anderes macht als einen PC herunterzufahren. Es hat 4 Buttons die die Funktionen "Herunterfahren", "Neustarten", "Abmelden" und "Herunterfahren abbrechen" haben. Desweiteren gibt es 3 CheckBoxen die (bei Auswahl) Musik abspielen, Bilder anzeigen und eine Nachricht anzeigen.

    Das ganze läuft in Visual Studio (Community Edition) im "Test" auch ohne Probleme und macht genau das was es soll.

    Wenn ich aber das Projekt erstelle und versuche dann die .exe zu starten, passiert nichts außer das sich das Explorer Fenster aufhängt bzw. eine Endlos-Lade-Schleife entsteht. Ich habe bereits den Code geprüft und nichts gefunden was so große Probleme machen kann. Des weiteren habe ich die .exe als Admin ausgeführt.

    Mein erstellen geht wie folgt:
    • VisualStudio starten
    • Projekt öffnen
    • Auf "Erstellen" klicken
    • [Projektname]-Erstellen klicken
    • Abwarten
    • In dem Projektordner (C:\......\bin\Debug\app.publish) die .exe starten
    Hier der Code...

    JA, ich weiß es ist unsauber und nicht Qualitativ gut geschrieben, jedoch als absoluter Anfänger bin ich stolz wie Oskar darauf.

    Bitte habt erbarmen mit mir und macht es DAU tauglich...


    Visual Basic-Quellcode

    1. Public Class Form1
    2. Private Sub CheckedListBox2_SelectedIndexChanged(sender As Object, e As EventArgs)
    3. End Sub
    4. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
    5. 'abmelden
    6. If CheckBox1.Checked Then
    7. 'Musik
    8. My.Computer.Audio.Play(My.Resources.geil, AudioPlayMode.Background)
    9. End If
    10. If CheckBox2.Checked Then
    11. 'Bilder
    12. Dim Wert2
    13. Randomize() ' Zufallszahlengenerator initialisieren.
    14. Wert2 = Int((4 * Rnd()) + 1) ' Zufallszahlen im Bereich von 1 bis 10 generieren.
    15. Select Case Wert2
    16. Case 1
    17. PictureBox1.Image = My.Resources.DSC_0101
    18. PictureBox1.Refresh()
    19. Case 2
    20. PictureBox1.Image = My.Resources.DSC_0079
    21. PictureBox1.Refresh()
    22. Case 3
    23. PictureBox1.Image = My.Resources.DSC_0067
    24. PictureBox1.Refresh()
    25. Case 4
    26. PictureBox1.Image = My.Resources.DSC_0103
    27. PictureBox1.Refresh()
    28. Case Else
    29. End Select
    30. End If
    31. If CheckBox3.Checked Then
    32. 'Text
    33. Dim Wert1
    34. Dim Ausgabe As String
    35. Ausgabe = 1
    36. Randomize() ' Zufallszahlengenerator initialisieren.
    37. Wert1 = Int((10 * Rnd()) + 1) ' Zufallszahlen im Bereich von 1 bis 10 generieren.
    38. Select Case Wert1
    39. Case 1
    40. Ausgabe = "Eigener Text hier"
    41. Case 2
    42. Ausgabe = "Eigener Text hier"
    43. Case 3
    44. Ausgabe = "Eigener Text hier"
    45. Case 4
    46. Ausgabe = "Eigener Text hier"
    47. Case 5
    48. Ausgabe = "Eigener Text hier"
    49. Case 6
    50. Ausgabe = "Eigener Text hier"
    51. Case 7
    52. Ausgabe = "Eigener Text hier"
    53. Case 8
    54. Ausgabe = "Eigener Text hier"
    55. Case 9
    56. Ausgabe = "Eigener Text hier"
    57. Case 10
    58. Ausgabe = "Eigener Text hier"
    59. Case Else
    60. MsgBox("Hoppala da ist was schief gegangen...")
    61. End Select
    62. Dim whshell As Object
    63. whshell = CreateObject("Wscript.shell")
    64. Dim i As Integer = whshell.popup(Ausgabe, 3, "Liebe")
    65. Debug.Print(i)
    66. End If
    67. ProgressBar1.Maximum = 50
    68. ProgressBar1.Value = 10
    69. System.Threading.Thread.Sleep(1000)
    70. ProgressBar1.Value = 20
    71. System.Threading.Thread.Sleep(1000)
    72. ProgressBar1.Value = 30
    73. System.Threading.Thread.Sleep(1000)
    74. ProgressBar1.Value = 40
    75. System.Threading.Thread.Sleep(1000)
    76. ProgressBar1.Value = 50
    77. System.Threading.Thread.Sleep(1000)
    78. Shell("shutdown -l -t 5")
    79. End Sub
    80. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
    81. 'herunterfahren
    82. If CheckBox1.Checked Then
    83. 'Musik
    84. My.Computer.Audio.Play(My.Resources.geil, AudioPlayMode.Background)
    85. End If
    86. If CheckBox2.Checked Then
    87. 'Bilder
    88. Dim Wert2
    89. Randomize() ' Zufallszahlengenerator initialisieren.
    90. Wert2 = Int((4 * Rnd()) + 1) ' Zufallszahlen im Bereich von 1 bis 10 generieren.
    91. Select Case Wert2
    92. Case 1
    93. PictureBox1.Image = My.Resources.DSC_0101
    94. PictureBox1.Refresh()
    95. Case 2
    96. PictureBox1.Image = My.Resources.DSC_0079
    97. PictureBox1.Refresh()
    98. Case 3
    99. PictureBox1.Image = My.Resources.DSC_0067
    100. PictureBox1.Refresh()
    101. Case 4
    102. PictureBox1.Image = My.Resources.DSC_0103
    103. PictureBox1.Refresh()
    104. Case Else
    105. End Select
    106. End If
    107. If CheckBox3.Checked Then
    108. 'Text
    109. Dim Wert1
    110. Dim Ausgabe As String
    111. Ausgabe = 1
    112. Randomize() ' Zufallszahlengenerator initialisieren.
    113. Wert1 = Int((10 * Rnd()) + 1) ' Zufallszahlen im Bereich von 1 bis 10 generieren.
    114. Select Case Wert1
    115. Case 1
    116. Ausgabe = "Eigener Text hier"
    117. Case 2
    118. Ausgabe = "Eigener Text hier"
    119. Case 3
    120. Ausgabe = "Eigener Text hier"
    121. Case 4
    122. Ausgabe = "Eigener Text hier"
    123. Case 5
    124. Ausgabe = "Eigener Text hier"
    125. Case 6
    126. Ausgabe = "Eigener Text hier"
    127. Case 7
    128. Ausgabe = "Eigener Text hier"
    129. Case 8
    130. Ausgabe = "Eigener Text hier"
    131. Case 9
    132. Ausgabe = "Eigener Text hier"
    133. Case 10
    134. Ausgabe = "Eigener Text hier"
    135. Case Else
    136. MsgBox("Hoppala da ist was schief gegangen...")
    137. End Select
    138. Dim whshell As Object
    139. whshell = CreateObject("Wscript.shell")
    140. Dim i As Integer = whshell.popup(Ausgabe, 3, "Liebe")
    141. Debug.Print(i)
    142. End If
    143. ProgressBar1.Maximum = 50
    144. ProgressBar1.Value = 10
    145. System.Threading.Thread.Sleep(1000)
    146. ProgressBar1.Value = 20
    147. System.Threading.Thread.Sleep(1000)
    148. ProgressBar1.Value = 30
    149. System.Threading.Thread.Sleep(1000)
    150. ProgressBar1.Value = 40
    151. System.Threading.Thread.Sleep(1000)
    152. ProgressBar1.Value = 50
    153. System.Threading.Thread.Sleep(1000)
    154. Shell("shutdown -s -t 5")
    155. End Sub
    156. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    157. 'neustarten
    158. If CheckBox1.Checked Then
    159. 'Musik
    160. My.Computer.Audio.Play(My.Resources.geil, AudioPlayMode.Background)
    161. End If
    162. If CheckBox2.Checked Then
    163. 'Bilder
    164. Dim Wert2
    165. Randomize() ' Zufallszahlengenerator initialisieren.
    166. Wert2 = Int((4 * Rnd()) + 1) ' Zufallszahlen im Bereich von 1 bis 10 generieren.
    167. Select Case Wert2
    168. Case 1
    169. PictureBox1.Image = My.Resources.DSC_0101
    170. PictureBox1.Refresh()
    171. Case 2
    172. PictureBox1.Image = My.Resources.DSC_0079
    173. PictureBox1.Refresh()
    174. Case 3
    175. PictureBox1.Image = My.Resources.DSC_0067
    176. PictureBox1.Refresh()
    177. Case 4
    178. PictureBox1.Image = My.Resources.DSC_0103
    179. PictureBox1.Refresh()
    180. Case Else
    181. End Select
    182. End If
    183. If CheckBox3.Checked Then
    184. 'Text
    185. Dim Wert1
    186. Dim Ausgabe As String
    187. Ausgabe = 1
    188. Randomize() ' Zufallszahlengenerator initialisieren.
    189. Wert1 = Int((10 * Rnd()) + 1) ' Zufallszahlen im Bereich von 1 bis 10 generieren.
    190. Select Case Wert1
    191. Case 1
    192. Ausgabe = "Eigener Text hier"
    193. Case 2
    194. Ausgabe = "Eigener Text hier"
    195. Case 3
    196. Ausgabe = "Eigener Text hier"
    197. Case 4
    198. Ausgabe = "Eigener Text hier"
    199. Case 5
    200. Ausgabe = "Eigener Text hier"
    201. Case 6
    202. Ausgabe = "Eigener Text hier"
    203. Case 7
    204. Ausgabe = "Eigener Text hier"
    205. Case 8
    206. Ausgabe = "Eigener Text hier"
    207. Case 9
    208. Ausgabe = "Eigener Text hier"
    209. Case 10
    210. Ausgabe = "Eigener Text hier"
    211. Case Else
    212. MsgBox("Hoppala da ist was schief gegangen...")
    213. End Select
    214. Dim whshell As Object
    215. whshell = CreateObject("Wscript.shell")
    216. Dim i As Integer = whshell.popup(Ausgabe, 3, "Liebe")
    217. Debug.Print(i)
    218. End If
    219. ProgressBar1.Maximum = 50
    220. ProgressBar1.Value = 10
    221. System.Threading.Thread.Sleep(1000)
    222. ProgressBar1.Value = 20
    223. System.Threading.Thread.Sleep(1000)
    224. ProgressBar1.Value = 30
    225. System.Threading.Thread.Sleep(1000)
    226. ProgressBar1.Value = 40
    227. System.Threading.Thread.Sleep(1000)
    228. ProgressBar1.Value = 50
    229. System.Threading.Thread.Sleep(1000)
    230. Shell("shutdown -r -t 5")
    231. End Sub
    232. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    233. 'herunterfahren abbrechen
    234. ProgressBar1.Value = 50
    235. Shell("shutdown -a")
    236. End Sub
    237. Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
    238. 'tester
    239. If CheckBox1.Checked Then
    240. 'Musik
    241. My.Computer.Audio.Play(My.Resources.geil, AudioPlayMode.Background)
    242. End If
    243. If CheckBox2.Checked Then
    244. 'Bilder
    245. Dim Wert2
    246. Randomize() ' Zufallszahlengenerator initialisieren.
    247. Wert2 = Int((4 * Rnd()) + 1) ' Zufallszahlen im Bereich von 1 bis 10 generieren.
    248. Select Case Wert2
    249. Case 1
    250. PictureBox1.Image = My.Resources.DSC_0101
    251. PictureBox1.Refresh()
    252. Case 2
    253. PictureBox1.Image = My.Resources.DSC_0079
    254. PictureBox1.Refresh()
    255. Case 3
    256. PictureBox1.Image = My.Resources.DSC_0067
    257. PictureBox1.Refresh()
    258. Case 4
    259. PictureBox1.Image = My.Resources.DSC_0103
    260. PictureBox1.Refresh()
    261. Case Else
    262. End Select
    263. End If
    264. If CheckBox3.Checked Then
    265. 'Text
    266. Dim Wert1
    267. Dim Ausgabe As String
    268. Ausgabe = 1
    269. Randomize() ' Zufallszahlengenerator initialisieren.
    270. Wert1 = Int((10 * Rnd()) + 1) ' Zufallszahlen im Bereich von 1 bis 10 generieren.
    271. Select Case Wert1
    272. Case 1
    273. Ausgabe = "Eigener Text hier"
    274. Case 2
    275. Ausgabe = "Eigener Text hier"
    276. Case 3
    277. Ausgabe = "Eigener Text hier"
    278. Case 4
    279. Ausgabe = "Eigener Text hier"
    280. Case 5
    281. Ausgabe = "Eigener Text hier"
    282. Case 6
    283. Ausgabe = "Eigener Text hier"
    284. Case 7
    285. Ausgabe = "Eigener Text hier"
    286. Case 8
    287. Ausgabe = "Eigener Text hier"
    288. Case 9
    289. Ausgabe = "Eigener Text hier"
    290. Case 10
    291. Ausgabe = "Eigener Text hier"
    292. Case Else
    293. MsgBox("Hoppala da ist was schief gegangen...")
    294. End Select
    295. Dim whshell As Object
    296. whshell = CreateObject("Wscript.shell")
    297. Dim i As Integer = whshell.popup(Ausgabe, 3, "Liebe")
    298. Debug.Print(i)
    299. End If
    300. ProgressBar1.Maximum = 50
    301. ProgressBar1.Value = 10
    302. System.Threading.Thread.Sleep(1000)
    303. ProgressBar1.Value = 20
    304. System.Threading.Thread.Sleep(1000)
    305. ProgressBar1.Value = 30
    306. System.Threading.Thread.Sleep(1000)
    307. ProgressBar1.Value = 40
    308. System.Threading.Thread.Sleep(1000)
    309. ProgressBar1.Value = 50
    310. System.Threading.Thread.Sleep(1000)
    311. End Sub
    312. End Class

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „HappyHippoSnack“ ()

    Willkommen im Forum. :thumbup:

    HappyHippoSnack schrieb:

    und versuche dann die .exe zu starten
    In welchem Verzeichnis?

    HappyHippoSnack schrieb:

    VB.NET-Quellcode

    1. System.Threading.Thread.Sleep(1000)
    Ersetze diese Zeilen durch NAME_DES_BETREFFENDEN_CONTROLS.Update().
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @HappyHippoSnack,

    auch von mir willkommen im Forum !

    Wenn das dein ganzer Code ist muss, dein Programm zumindest starten.
    Jeder Codeteil ist ja mit einem Button verknüpft.

    Bleibt die exe wirklich beim Start hängen ?
    Oder drückst du vorher einen der Button ?

    Gruss

    mikeb69
    Hallo, ich starte die exe direkt in dem Verzeichnis, habe sie auch schon alternativ auf den Desktop kopiert...

    Wenn ich die exe anklicke, passiert nichts. Er zeigt endloss lange ein "lade-Mauszeiger" und das war es. Der Mauszeiger lädt nur wenn man über das Explorer fenster in dem der Ordner bzw. der Desktop offen ist.

    @RodFromGermany Bitte hass mich nicht, aber was soll ich da reinschreiben? und fehlt dann nicht eine Zeitangabe für das warten?
    Ich seh jetzt auf Anhieb nicht warum es nicht starten sollte. Ich kann ja mal morgen drüber guggn.
    Hast du Skype? Dann kann ich dir noch paar weitere Tipps geben.

    Lösch mal den ganzen debug und release ordner und lass ihn neu erstellen. (einfach app von VS aus starten)

    Alternativ stell mal dein AntiVir aus beim kompilieren und starten.

    Gruß

    HappyHippoSnack schrieb:

    eine Zeitangabe für das warten
    machst Du mit nem Timer.
    Sleep() lässt die GUI einfrieren.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!