Какой самый простой способ сделать так, чтобы люди могли запускать его локально вместо ярлыка, указывающего на сетевой диск?
Я полагаю, они всегда запускают его локально и проверяют наличие обновлений при запуске, возможно, создают текстовый документ (на сетевом диске с исполняемым файлом) с последним номером версии, который я обновляю с помощьюкаждой версии, и он читает ее с помощью streamread при запуске приложения, и если номер последней версии был больше, чем исполняемый файл, он выводит диалоговое окно с сообщением и запрашивает обновление до последней версии, и если да, он копирует егосетевой диск ... Я не уверен, как заставить его скопировать последнюю версию и перезаписать себя во время работы приложения, не создавая отдельный исполняемый файл ... Я просто хочу, чтобы он был очень простым, и я чувствую, что должно бытьспособ.
При неудачном нарушении я создал файл-часы, которые контролировали каталог сетевого диска, и когда файл был вставлен с именем файла «прекратить», он закрыл бы экземпляр программы навсе работающие машины, и позвольте мне обновить файл :) ... Однако безопасность сетиВы не сможете запустить эту функцию, и при запуске программа получит сообщение об ошибке, если только программа не была запущена локально, что исключает всю цель, позволяющую пользователям сохранять ярлыки на рабочем столе, указывающие на файл.
РедактироватьНа данный момент я подумал, что было бы интересно иметь таймер и выключать его каждую ночь в 7:00 вечера.В любое время после этого я работаю над этим 90% времени.
private void Form1_Load(object sender, EventArgs e)
{
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.timer1.Interval = 30000;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
this.timer1.Start();
}
private void timer1_Tick(object sender, System.EventArgs e)
{
DateTime t1 = Convert.ToDateTime(DateTime.Now.ToShortTimeString());
DateTime t2 = Convert.ToDateTime(("7:00 PM"));
if (t1.TimeOfDay.Ticks == t2.TimeOfDay.Ticks)
{
this.Close();
// /DateTime.Now.ToShortTimeString();
}