srcrepair.UpdateManager.GenerateUpdateFileName C# (CSharp) Method

GenerateUpdateFileName() public static method

Генерирует имя файла на диске для обновления.
public static GenerateUpdateFileName ( string Url ) : string
Url string URL загрузки
return string
        public static string GenerateUpdateFileName(string Url)
        {
            return Path.HasExtension(Url) ? Url : Path.ChangeExtension(Url, "exe");
        }

Usage Example

Exemplo n.º 1
0
        /// <summary>
        /// Устанавливает обновление базы данных.
        /// </summary>
        /// <param name="ResFileName">Имя файла для обновления</param>
        /// <param name="UpdateURL">URL загрузки обновления</param>
        /// <param name="UpdateHash">Контрольная сумма файла обновления</param>
        /// <returns>Возвращает true при успешной установке обновления, иначе - false.</returns>
        private bool InstallDatabaseUpdate(string ResFileName, string UpdateURL, string UpdateHash)
        {
            // Задаём значения переменных по умолчанию...
            bool Result = false;

            // Проверяем наличие прав на запись в каталог...
            if (FileManager.IsDirectoryWritable(FullAppPath))
            {
                // Генерируем пути к файлам...
                string UpdateFileName = UpdateManager.GenerateUpdateFileName(Path.Combine(FullAppPath, ResFileName));
                string UpdateTempFile = Path.GetTempFileName();

                // Загружаем файл с сервера...
                FormManager.FormShowDownloader(UpdateURL, UpdateTempFile);

                try
                {
                    // Проверяем контрольную сумму...
                    if (FileManager.CalculateFileMD5(UpdateTempFile) == UpdateHash)
                    {
                        // Копируем загруженный файл...
                        File.Copy(UpdateTempFile, UpdateFileName, true);

                        // Выводим сообщение об успехе...
                        MessageBox.Show(AppStrings.UPD_UpdateDBSuccessful, Properties.Resources.AppName, MessageBoxButtons.OK, MessageBoxIcon.Information);

                        // Возвращаем положительный результат...
                        Result = true;
                    }
                    else
                    {
                        // Выводим сообщение о несовпадении хешей...
                        MessageBox.Show(AppStrings.UPD_HashFailure, Properties.Resources.AppName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                catch (Exception Ex)
                {
                    // Выводим сообщение об ошибке...
                    CoreLib.HandleExceptionEx(AppStrings.UPD_UpdateFailure, Properties.Resources.AppName, Ex.Message, Ex.Source, MessageBoxIcon.Error);
                }

                // Удаляем загруженный файл если он существует...
                if (File.Exists(UpdateTempFile))
                {
                    File.Delete(UpdateTempFile);
                }

                // Повторяем поиск обновлений...
                CheckForUpdates();
            }
            else
            {
                // Выводим сообщение об отсутствии прав на запись в каталог...
                MessageBox.Show(AppStrings.UPD_NoWritePermissions, Properties.Resources.AppName, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            // Возвращаем результат...
            return(Result);
        }
All Usage Examples Of srcrepair.UpdateManager::GenerateUpdateFileName