EDIT: вот файл, если кто-то хочет, чтобы тест: CleanerC# Сделать приложение совместимым на других компьютерах?
Я делаю программу, которая чистит некоторые файлы автоматически при запуске по причинам производительности.
Как создать приложение на другом компьютере, на котором есть только файлы релизов?
Я создал приложение с использованием Framework 2.0 и корректно работает без ошибок на своем компьютере, но если я скопирую файлы релиза на другой компьютер, «приложение перестает отвечать» произойдет, когда оно запустится.
Нет файлов ресурсов, кроме значка и встроенного ресурса. У меня нет идеи, что делать.
private void Cleansystem()
{
timer1.Enabled = true;
timer1.Start();
progressBar1.Maximum = 10;
String Offline = Environment.ExpandEnvironmentVariables("%SYSTEMROOT%") + "\\Offline Web Pages";
String download = Environment.ExpandEnvironmentVariables("%SYSTEMROOT%") + "\\Downloaded Program Files";
String software = Environment.ExpandEnvironmentVariables("%SYSTEMROOT%") + "\\SoftwareDistribution\\Download";
String wintemp = Environment.ExpandEnvironmentVariables("%SYSTEMROOT%") + "\\Temp";
String recent = Environment.ExpandEnvironmentVariables("%appdata%") + "\\Microsoft\\Windows\\Recent";
String cookies = Environment.ExpandEnvironmentVariables("%appdata%") + "\\Microsoft\\Windows\\cookies";
String TempInternet = Environment.ExpandEnvironmentVariables("%userprofile%") + "\\Local Settings\\Temporary Internet Files";
String apptemp = Environment.ExpandEnvironmentVariables("%userprofile%") + "\\appdata\\Local\\Temp";
String settingtemp = Environment.ExpandEnvironmentVariables("%userprofile%") + "\\Local Settings\\Temp";
EmptyFolderContents(Offline);
EmptyFolderContents(download);
EmptyFolderContents(software);
EmptyFolderContents(wintemp);
EmptyFolderContents(recent);
EmptyFolderContents(cookies);
EmptyFolderContents(TempInternet);
EmptyFolderContents(apptemp);
EmptyFolderContents(settingtemp);
timer1.Interval = 1000;
timer1.Tick += new EventHandler(timer1_Tick);
}
private void EmptyFolderContents(string folderName)
{
foreach (var folder in Directory.GetDirectories(folderName))
{
try
{
Directory.Delete(folder, true);
}
catch (Exception excep)
{
logger.Fatal(excep);
}
}
foreach (var file in Directory.GetFiles(folderName))
{
try
{
File.Delete(file);
}
catch (Exception excep)
{
logger.Fatal(excep);
}
}
}
void timer1_Tick(object sender, EventArgs e)
{
if (progressBar1.Value != 10)
{
progressBar1.Value++;
}
else
{
Environment.Exit(0);
}
}
}
}
2013-05-08 18: 02: 58,7013 FATAL System.IO.IOException: Процесс не может получить доступ к файлу «C: \ Windows \ Temp \ Cleaner.vsho_130508_173905_05efe1ff -6b41-4cb6-bb00-7acad6960c36.iTrace ' , потому что он используется другим процессом. на System.IO .__ Error.WinIOError (Int32 ERRORCODE, String maybeFullPath)
на System.IO.File.InternalDelete (String, Boolean пути checkHost) при System.IO.File.Delete (String путь) на GifImagee. MainWindow.EmptyFolderContents (String folderName) в c: \ Users \ Administrator \ Documents \ Visual Studio 2012 \ Projects \ tet \ Cleaner \ Cleaner \ MainWindow.xaml.cs: строка 923 2013-05-08 18: 02: 58.7349 FATAL System.IO.IOException: процесс не может получить доступ к файлу 'C: \ Windows \ Temp \ OSO.vshost.exe_130508_174608_0d66d9df-040c-457b-84b5-7c3576196718.iTrace' , потому что он используется другим процессом. на System.IO .__ Error.WinIOError (Int32 ERRORCODE, String maybeFullPath)
на System.IO.File.InternalDelete (String, Boolean пути checkHost) при System.IO.File.Delete (String путь) на GifImagee. MainWindow.EmptyFolderContents (String folderName) в c: \ Users \ Administrator \ Documents \ Visual Studio 2012 \ Projects \ tet \ Cleaner \ Cleaner \ MainWindow.xaml.cs: строка 923 2013-05-08 18: 02: 58.8630 FATAL System.UnauthorizedAccessException: Отказ от доступа к пути 'Aug2005_d3dx9_27_x64.cab'. на System.IO.Directory.DeleteHelper (String FULLPATH, Строка UserPath, Логическое рекурсивной, булева throwOnTopLevelDirectoryNotFound) при System.IO.Directory.Delete (String FULLPATH, String UserPath, Boolean рекурсивной, булева checkHost) при System.IO .Directory.Delete (String путь, Boolean рекурсивный) в GifImagee.MainWindow.EmptyFolderContents (String FOLDERNAME) в C: \ Users \ Administrator \ Documents \ Visual Studio 2012 \ Projects \ Tet \ уборщик \ уборщик \ MainWindow.xaml .cs: строка 912 2013-05-08 18: 02: 58.8743 FATAL System.IO.IOException: процесс не может получить доступ к файлу 'C: \ Users \ Administrator \ appdata \ Local \ Temp \ etilqs_2Isw34P5eLyyP6D' , потому что он используется другим процессом. at System.IO .__ Error.WinIOError (Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalDelete (String path, Boolean checkHost) в System.IO.File.Удалить (String путь) на GifImagee.MainWindow.EmptyFolderContents (String FOLDERNAME) в C: \ Users \ Administrator \ Documents \ Visual Studio 2012 \ Projects \ \ Очистители тет \ уборщик \ MainWindow.xaml.cs: линия 923 2013 -05-08 18: 02: 58.9074 FATAL System.IO.IOException: процесс не может получить доступ к файлу 'C: \ Users \ Administrator \ appdata \ Local \ Temp \ etilqs_7CSWlOdfR5GbUuD' , потому что он используется другим процессом. на System.IO .__ Error.WinIOError (Int32 ERRORCODE, String maybeFullPath)
на System.IO.File.InternalDelete (String, Boolean пути checkHost) при System.IO.File.Delete (String путь) на GifImagee. MainWindow.EmptyFolderContents (String folderName) в c: \ Users \ Administrator \ Documents \ Visual Studio 2012 \ Projects \ tet \ Cleaner \ Cleaner \ MainWindow.xaml.cs: строка 923 2013-05-08 18: 02: 58.9279 FATAL System.IO.IOException: процесс не может получить доступ к файлу 'C: \ Users \ Administrator \ appdata \ Local \ Temp \ etilqs_9htGcbvUEEpPsK3' , потому что он используется другим процессом. на System.IO .__ Error.WinIOError (Int32 ERRORCODE, String maybeFullPath)
на System.IO.File.InternalDelete (String, Boolean пути checkHost) при System.IO.File.Delete (String путь) на GifImagee. MainWindow.EmptyFolderContents (String folderName) в c: \ Users \ Administrator \ Documents \ Visual Studio 2012 \ Projects \ tet \ Cleaner \ Cleaner \ MainWindow.xaml.cs: строка 923 2013-05-08 18: 02: 58.9389 FATAL System.IO.IOException: процесс не может получить доступ к файлу 'C: \ Users \ Administrator \ appdata \ Local \ Temp \ etilqs_fPoiWPUjDlCkgey' , потому что он используется другим процессом. на System.IO .__ Error.WinIOError (Int32 ERRORCODE, String maybeFullPath)
на System.IO.File.InternalDelete (String, Boolean пути checkHost) при System.IO.File.Delete (String путь) на GifImagee. MainWindow.EmptyFolderContents (String folderName) в c: \ Users \ Administrator \ Documents \ Visual Studio 2012 \ Projects \ tet \ Cleaner \ Cleaner \ MainWindow.xaml.cs: строка 923 2013-05-08 18: 02: 58.9703 FATAL System.IO.IOException: процесс не может получить доступ к файлу 'C: \ Users \ Administrator \ appdata \ Local \ Temp \ etilqs_JtJ95QHTNu6Vj7D' , потому что он используется другим процессом. на System.IO .__ Error.WinIOError (Int32 ERRORCODE, String maybeFullPath)
на System.IO.File.InternalDelete (String, Boolean пути checkHost) при System.IO.File.Delete (String путь) на GifImagee. MainWindow.EmptyFolderContents (String folderName) в c: \ Users \ Administrator \ Documents \ Visual Studio 2012 \ Projects \ tet \ Cleaner \ Cleaner \ MainWindow.xaml.cs: строка 923 2013-05-08 18: 02: 59.0947 FATAL System.UnauthorizedAccessException: Отказ от доступа к пути 'Aug2005_d3dx9_27_x64.cab'. на System.IO.Directory.DeleteHelper (String FULLPATH, Строка UserPath, Логическое рекурсивной, булева throwOnTopLevelDirectoryNotFound) при System.IO.Directory.Delete (String FULLPATH, String UserPath, Boolean рекурсивной, булева checkHost) при System.IO .Directory.Delete (String путь, Boolean рекурсивный) в GifImagee.MainWindow.EmptyFolderContents (String FOLDERNAME) в C: \ Users \ Administrator \ Documents \ Visual Studio 2012 \ Projects \ Tet \ уборщик \ уборщик \ MainWindow.xaml .cs: строка 912 2013-05-08 18: 02: 59.1152 FATAL System.IO.IOException: процесс не может получить доступ к файлу 'C: \ Users \ Administrator \ Local Настройки \ Temp \ etilqs_2Isw34P5eLyyP6D', потому что он используется другим процессом. в System.IO .__ Error.WinIOError (Int32 errorCode, String maybeFullPath) в System.IO.File.InternalDelete (String path, Boolean checkHost) в System.IO.File.Delete (String path) в GifImagee.MainWindow. EmptyFolderContents (String folderName) в c: \ Users \ Administrator \ Documents \ Visual Studio 2012 \ Projects \ tet \ Cleaner \ Cleaner \ MainWindow.xaml.cs: строка 923 2013-05-08 18: 02: 59.1263 FATAL System .IO.IOException: процесс не может получить доступ к файлу 'C: \ Users \ Administrator \ Local Настройки \ Temp \ etilqs_7CSWlOdfR5GbUuD', потому что он используется другим процессом. в System.IO .__ Error.WinIOError (Int32 errorCode, String maybeFullPath) в System.IO.File.InternalDelete (String path, Boolean checkHost) в System.IO.File.Delete (String path) в GifImagee.MainWindow. EmptyFolderContents (String folderName) в c: \ Users \ Administrator \ Documents \ Visual Studio 2012 \ Projects \ tet \ Cleaner \ Cleaner \ MainWindow.xaml.cs: строка 923 2013-05-08 18: 02: 59.1563 Система FATAL .IO.IOException: процесс не может получить доступ к файлу 'C: \ Users \ Administrator \ Local Настройки \ Temp \ etilqs_9htGcbvUEEpPsK3', потому что он используется другим процессом. в System.IO .__ Error.WinIOError (Int32 errorCode, String maybeFullPath) в System.IO.File.InternalDelete (String path, Boolean checkHost) в System.IO.File.Delete (String path) в GifImagee.MainWindow. EmptyFolderContents (String folderName) в c: \ Users \ Administrator \ Documents \ Visual Studio 2012 \ Projects \ tet \ Cleaner \ Cleaner \ MainWindow.xaml.cs: строка 923 2013-05-08 18: 02: 59.1774 Система FATAL .IO.IOException: процесс не может получить доступ к файлу 'C: \ Users \ Administrator \ Local Settings \ Temp \ etilqs_fPoiWPUjDlCkgey', потому что он используется другим процессом. в System.IO .__ Error.WinIOError (Int32 errorCode, String maybeFullPath) в System.IO.File.InternalDelete (String path, Boolean checkHost) в System.IO.File.Delete (String path) в GifImagee.MainWindow. EmptyFolderContents (String folderName) в c: \ Users \ Administrator \ Documents \ Visual Studio 2012 \ Projects \ tet \ Cleaner \ Cleaner \ MainWindow.xaml.cs: строка 923 2013-05-08 18: 02: 59.1886 Система FATAL .IO.IOException: процесс не может получить доступ к файлу 'C: \ Users \ Administrator \ Local Settings \ Temp \ etilqs_JtJ95QHTNu6Vj7D', потому что он используется другим процессом. в System.IO .__ Error.WinIOError (Int32 errorCode, String maybeFullPath) в System.IO.File.InternalDelete (String path, Boolean checkHost) в System.IO.File.Delete (String path) в GifImagee.MainWindow. EmptyFolderContents (String FOLDERNAME) в C: \ Users \ Administrator \ Documents \ Visual Studio 2012 \ Projects \ Tet \ \ Очистители Очиститель \ MainWindow.xaml.cs: линия 923
«Приложение перестало отвечать» могло быть любым. Это вызовет бесконечный цикл. Совместимость, вероятно, не проблема. –
Не совсем уверен, что происходит с вашим приложением. У вас есть код? Компьютер с установленным .NET 2.0 должен просто запускать ваше приложение, если оно не зависит от других библиотек. –
@RobertHarvey Может ли это быть, если некоторые файлы не могут быть удалены сбой программы на других компьютерах? – Sneakybastardd