2013-06-01 3 views
1

Я работаю над приложением Updater, содержащим два приложения с именем Updater и MainApp. Приложение Updater использует веб-службу для проверки обновлений и обновления MainApp. Я могу добиться обновления при нажатии кнопки обновления, для одного следующего обновления.C# multiple versions updater

Проблема заключается в том, что, если доступно несколько версий обновлений, приложение должно иметь возможность обновлять себя до этих версий последовательно и, наконец, должно быть в последней версии одним нажатием кнопки обновления. Я хочу сказать, что пользователь не должен каждый раз кликать по кнопке обновления для каждого отдельного обновления, один клик обновления должен обновлять приложение до его окончательной версии

Например, если текущая версия 1.0.0.0, а доступные версии - 1.0.2.0, 2.0.0.0, 3.0.0.5. Затем приложение должно обновить себя до 3.0.0.5 без пропусков обновлений 1.0.2.0 и 2.0.0.0.

Пожалуйста, поделитесь своими идеями,

Благодаря

Sanket

+0

как насчет обновления до следующей версии, а затем повторной проверки? – Vogel612

+0

@ Vogel612: Это работает, но затем пользователю снова нужно щелкнуть проверку обновлений. Целью является прямое обновление приложения до последней версии без раздражающего пользователя и отсутствие каких-либо обновлений. – user1790564

+0

вы не понимали. Я сформулировал свои мысли в ответ – Vogel612

ответ

1

Вы можете проверить последнюю версию на кнопку мыши, а затем сортировать доступные обновления, которые больше, чем ваша текущая версия и меньше, чем или равно до последней версии и обновлять несколько раз.

0

хорошо, насколько я понял, у вас есть какой-то метод

public void checkForUpdates(object sender, EventArgs e){ 
    //Check if updates are available and call Update(string version); 
} 

этот метод проверяет наличие обновлений и, если есть какие-либо доступны обновит.
я предлагаю вам сделать это вызвать другую функцию для обновления до следующей версии только и перепроверить:

public void update(string version){ 
    //Update to next version (and only to next version) 
    //and then call check again, so you will update to the next and so on, 
    //till you are on newest version 
    checkForUpdates(null, null); 
} 

вам нужно будет обновить «каждую версию за другой» в любом случае, так что это самый простой способ для поддержания актуальности и легко программирования, а также удобочитаемости