我正在尝试为我的应用实现更新功能。
除了正在安装更新的第二个应用程序(将新文件复制到旧文件)之外,其他所有内容都正在运行,因为它由另一个进程使用。 有谁知道我怎么能解决这个问题?此致
主要申请代码
private void _installTimer_Tick(object sender, EventArgs e) {
installCount++;
lblDownloadStatus.Content = "Update wird installiert...";
if (installCount == 3) {
lblDownloadedSize.Visibility = Visibility.Collapsed;
progressBarUpdate.Visibility = Visibility.Collapsed;
progressBarInstall.Visibility = Visibility.Visible;
// starts the update Application
var inWatchUpdater = AppDomain.CurrentDomain.BaseDirectory + "inWatchUpdater.exe";
if (File.Exists(inWatchUpdater)) {
Process.Start(inWatchUpdater);
Application.Current.Shutdown();
}
else {
MessageBox.Show("cant find file");
}
}
}
更新应用程序代码:
static string _inWatchTempFile = Path.Combine(Environment.GetFolderPath(
Environment.SpecialFolder.ApplicationData) + "\\inWatch\\update\\inWatchUpdateTemp.exe");
static string _inWatchCurrent = AppDomain.CurrentDomain.BaseDirectory + "InWatch.exe";
static void updateApplication() {
if(File.Exists(_inWatchTempFile) &&
File.Exists(_inWatchCurrent)) {
File.Copy(_inWatchTempFile, _inWatchCurrent, true);
if (File.Exists(_inWatchCurrent)) {
Process.Start(_inWatchCurrent);
}
}
else {
Console.WriteLine("Files doesnt exist");
}
}