Столкнулся с такой задачей по обновлению клиента приложения.
private void GetProductVersion()
{
int currentVersion = Convert.ToInt32(Application.ProductVersion.Replace(".", ""));
int versionRemote = 0;
string queryProductVersion = String.Format("select \"file_ver\" from dbo.AutoUpdates where \"module_name\" = 'KDocMessage'");
var loadData = cs.LoadFile("DataConnection.xml");
string connString = String.Format("Data Source={0};Initial Catalog={1};User Id={2};Password={3}", loadData.Host, loadData.Database, loadData.UserId, loadData.PWD);
using (SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(queryProductVersion, conn))
{
versionRemote = Convert.ToInt32(cmd.ExecuteScalar().ToString().Replace(".", ""));
}
}
}
После идет сравнение версий, и если не совпадают то нужно скачать обновление и перезапустить клиент. В нете в основном инфа про WebClient, нужно чтобы обновляло с ftp сервера(на ПК), там лежит папка с "свежими" файлами. Может кто поделится полезной ссылочкой.
Я так понимаю должно осуществляться это через Directory? Нужен ли для этого второй exe-шник?
При нажатии на публикацию просит ввести адрес папки-установки
Когда выбираю папку, выдает такую ошибку
На данный момент, кмк, самый удобный способ это использовать ClickOnce.
Указать версию публикации, именно это значение в дальнейшем ClickOnce будет сравнивать со значением версии приложения на клиенте.
В параметрах обновления можно указать будет ли клиент проверять обновление автоматически или это будет сделано приложением самостоятельно, или ниже какой версии не давать запускать приложение и обновлять автоматически без запроса к пользователю нужно ли обновить. Можно настроить ряд других стратегий обновлений о которых можно почитать на MSDN.
После введения всех параметров, нажать кнопку опубликовать, либо воспользоваться мастером публикации.
Установить приложение из места публикации.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости