Witam. To ostatni błąd z jakim spotkałem się w moim aktualizatorze:
Nie jestem w stanie usunąć plików usługi po jej zatrzymaniu i usunięciu:
// Zatrzymywanie i usuwanie usługi
ServiceController RunService = ServiceController.GetServices().FirstOrDefault(x => x.ServiceName == AppIdentification.RunServiceName);
if(RunService != null)
{
try
{
if(RunService.Status != ServiceControllerStatus.Stopped)
{
RunService.Stop();
RunService.WaitForStatus(ServiceControllerStatus.Stopped, new TimeSpan(0, 0, 30));
RunService.Close();
}
ManagedInstallerClass.InstallHelper(new string[] { "/u", System.AppDomain.CurrentDomain.BaseDirectory + AppIdentification.RunServiceFolder + AppIdentification.RunServiceName + ".exe" });
}
catch(Exception e)
{
Help.AddLog(">>> UpdateProcedure nie udało się zatrzymać usługi " + AppIdentification.RunServiceName, e.Message);
return false;
}
}
Podczas usuwania folderu gdzie są pliki z usługą:
// Usuwanie plików z folderu RunService
bool DeleteRunServiceFileSuccess = false;
try
{
if (Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + AppIdentification.RunServiceFolder))
Directory.Delete(AppDomain.CurrentDomain.BaseDirectory + AppIdentification.RunServiceFolder, true);
Directory.CreateDirectory(AppDomain.CurrentDomain.BaseDirectory + AppIdentification.RunServiceFolder);
DeleteRunServiceFileSuccess = true;
}
catch (Exception e)
{
Help.AddLog("UpdateProcedure nie udało się usunąć starych plików", e.Message);
}
if (!DeleteRunServiceFileSuccess)
{
GSDb.DbOperation.Export(DbConfig, "UPDATE `AppIdentification` SET `IsUpdatingNow`=0 WHERE `ID`=" + flags.AppData.AppIdentificationID);
return false;
}
otrzymuję wyjątek o odmowie dostępu do pliku. Czy moje usuwanie usługi działa nieprawidłowo? jeżeli chodzi o menadżer zadań w zakładce usługi usługa znika, więc chyba jest odinstalowana?
Z logów otrzymuję coś takiego:
(pierwsza aktualizacja, kiedy pierwszy raz kopiuje pliki jest ok, druga rzuca wyjątek przy próbie usunięcia starych plików)
1846 - UpdateProcedure rozpoczyna aktualizację z wersji 1.0.3 do 1.0.5
1848 - UpdateProcedure zakończyło aktualizację do wersji 1.0.5
1845 - UpdateProcedure rozpoczyna aktualizację z wersji 1.0.5 do 1.0.6
1852 - UpdateProcedure nie udało się usunąć starych plikówPrinterInformationRunSvc (Odmowa dostępu do ścieżki „PrinterInformationRunSvc.exe”.)
1845 - UpdateProcedure rozpoczyna aktualizację z wersji 1.0.5 do 1.0.6
1846 - UpdateProcedure nie udało się usunąć starych plikówPrinterInformationRunSvc (Odmowa dostępu do ścieżki „PrinterInformationRunSvc.exe”.)
1845 - UpdateProcedure rozpoczyna aktualizację z wersji 1.0.5 do 1.0.6
1846 - UpdateProcedure nie udało się usunąć starych plikówPrinterInformationRunSvc (Odmowa dostępu do ścieżki „PrinterInformationRunSvc.exe”.)
1845 - UpdateProcedure rozpoczyna aktualizację z wersji 1.0.5 do 1.0.6
1846 - UpdateProcedure nie udało się usunąć starych plikówPrinterInformationRunSvc (Odmowa dostępu do ścieżki „PrinterInformationRunSvc.exe”.)
1845 - UpdateProcedure rozpoczyna aktualizację z wersji 1.0.5 do 1.0.6
1846 - UpdateProcedure nie udało się usunąć starych plikówPrinterInformationRunSvc (Odmowa dostępu do ścieżki „PrinterInformationRunSvc.exe”.)
1845 - UpdateProcedure rozpoczyna aktualizację z wersji 1.0.5 do 1.0.6
1846 - UpdateProcedure nie udało się usunąć starych plikówPrinterInformationRunSvc (Odmowa dostępu do ścieżki „PrinterInformationRunSvc.exe”.)
1845 - UpdateProcedure rozpoczyna aktualizację z wersji 1.0.5 do 1.0.6
1846 - UpdateProcedure nie udało się usunąć starych plikówPrinterInformationRunSvc (Odmowa dostępu do ścieżki „PrinterInformationRunSvc.exe”.)
1845 - UpdateProcedure rozpoczyna aktualizację z wersji 1.0.5 do 1.0.6
1846 - UpdateProcedure nie udało się usunąć starych plikówPrinterInformationRunSvc (Odmowa dostępu do ścieżki „PrinterInformationRunSvc.exe”.)
1845 - UpdateProcedure rozpoczyna aktualizację z wersji 1.0.5 do 1.0.6
1846 - UpdateProcedure nie udało się usunąć starych plikówPrinterInformationRunSvc (Odmowa dostępu do ścieżki „PrinterInformationRunSvc.exe”.)
1845 - UpdateProcedure rozpoczyna aktualizację z wersji 1.0.5 do 1.0.6
1846 - UpdateProcedure nie udało się usunąć starych plikówPrinterInformationRunSvc (Odmowa dostępu do ścieżki „PrinterInformationRunSvc.exe”.)
1845 - UpdateProcedure rozpoczyna aktualizację z wersji 1.0.5 do 1.0.6
1846 - UpdateProcedure nie udało się usunąć starych plikówPrinterInformationRunSvc (Odmowa dostępu do ścieżki „PrinterInformationRunSvc.exe”.)
1845 - UpdateProcedure rozpoczyna aktualizację z wersji 1.0.5 do 1.0.6
1846 - UpdateProcedure nie udało się usunąć starych plikówPrinterInformationRunSvc (Odmowa dostępu do ścieżki „PrinterInformationRunSvc.exe”.)
1845 - UpdateProcedure rozpoczyna aktualizację z wersji 1.0.5 do 1.0.6
1846 - UpdateProcedure nie udało się usunąć starych plikówPrinterInformationRunSvc (Odmowa dostępu do ścieżki „PrinterInformationRunSvc.exe”.)