Dobry den narazil som na problem , ked sa mi aplikacia updatuje tak vytvara Davkovy subor (.bat) , ktory ukonci proces starej aplikacie a zmaze ju , potom nakopiruje do zlozky novy subor a spusti ho. Problem je v tom ze ked aplikacia vytvara vhodny subor aby prebehol update bez chyby tak cesty pre mazanie a spustanie suborou musia byt ukoncene znakom " v .bat subore.
Dim FileWriter As IO.StreamWriter
FileWriter.Write("@echo off" + vbNewLine + "echo." + vbNewLine + "echo Please wait until update is completed (10seconds)" + vbNewLine + "PING 1.1.1.1 -n 1 -w 5000 >NUL" + vbNewLine + "del /q " + Application.ExecutablePath + Environment.NewLine + vbNewLine + "echo Update is completed ! Press ENTER to open A.I.R Terminal !" + vbNewLine + "pause" + vbNewLine + "call " + Application.StartupPath + "/A.I.R_Terminal" + CACHE_002_UPDATE_CHECK + ".exe" + vbNewLine + "exit")
a ked zapisujem
"del /q " + Application.ExecutablePath + Environment.NewLine
tak by som potreboval ohranicit Application.ExecutablePath + Environment.NewLine akoby znakmi " aby kod vyzeral v .BAT subore takto : del /q "F:\A.T.R Terminal\A.I.R Terminal\bin\Debug\A.I.R Terminal.exe" a nie takto del /q F:\A.T.R Terminal\A.I.R Terminal\bin\Debug\A.I.R Terminal.exe teda nesmu tam chybat "" a ked nieco take napisem vo VB.NET tak je to jednoducho timto sposobom nemozne lebo VB si mysli ze tim chcem napisat novy text :( .. Riesit sa to da cez string v My.Settings do ktoreho zapisem znak " a potom ho cez + pridam za kazdou cestou napriklad :
... + "del /q " + My.Settings.znak + "F:\A.T.R Terminal\A.I.R Terminal\bin\Debug\A.I.R Terminal.exe" + My.Settings.znak
Ale toto sa mi moc nepozdava a urcite sa to da niako vyriesit a za pomoc a odpovede predom dakujem.
|