Задачки на подумать
А у нас есть такая проблема? Ничего глобально не становится.
Ну т.е. если у вас есть плагин1, который использует компонентуА и плагин2, который использует туже самую компоненту, то компонентаА 2 раза устанавливается на систему - в каталог с плагином1 и в каталог с плагином2. И потом ты удивляешься, что у тебя пытаются загрузиться типы с одинаковыми названиями, но с разными версиями? :) Как говорится, сами себе злобные Буратины :)
Но с выходом новой версии всегда возникают проблемы.
Да ладно? Я что-то не припомню проблем при переходе со сторой VS на новую...
А инсталлер еще чувствительнее, как бы в нём не косячили в пределах разумного, он не должен вставать на рога и не выполнять своей основной функции.
Уверяю тебя, MSI работает предсказуемо. Более того, работа MSI очень хорошо описана в MSDN. Я не совсем понимаю, о каких "пределах разумного" ты говоришь... Фактически, MSI-файл - это база данных, в которой прописаны связи между новыми и уже установленными продуктами и файлами. Очевидно, что если нарушены какие-то связи, то что-то обязательно пойдет не так и тут нет и не может быть никакого механизма восстановления или исправления неправильных связей.
хотя бы чтобы найти нужный тэг в репозитории, либо глянуть историю изменений. Есть большие отличия когда на фирме один два чисто софтовых проекта и когда софт идет вместе с железом по индивидуальному заказу.
Тэг в репозитории? Вы там на коленке собираете? :) Нет, я уже понял, что вы не используете инсталлер. Хотя в данном случае есть еще один повод таки задуматься над инсталлером, т.к. в таком случае версиб продукта можно будет посмотреть в Add and Remove Programms, после чего можно будет легко выяснить какие именно файлы и каких версий входили в этот конкретный релиз. Единственный тэг в репозитории - это версия релизнутого продукта. И совершенно не важно с железом идет софт или нет, по индивидуальному заказу или нет. Есть релиз - есть уникальная версия продукта. Что может быть проще?
Не пробовали на ХП сейчас что инсталлировать?
Какая разница сейчас или не сейчас? На XP тоже есть MSI и работает он также, как на Win10 (еще года два тому назад мы поддерживали установку на XP и все работало на ура, так что я знаю о чем говорю :) ).
А что инсталлер не умеет, умеет Паскаль
Ну в MSI тоже есть Custom Actions, которые можно писать на VBScript или JScript ну или просто исполнять или dll.
А вот вопросик, на форме есть 10 полей для ввода текста и 10 лейблочек к ним. Сколько может быть ИД?
От 10 до 20. Лейблы могут быть без ИД, но в таком случае лейблы не генерят никаких сообщений и их нельзя ни задизейблить, ни покрасить... короче ничего с ними нельзя сделать.
А енто что?
очепятка :) "фигуры"
А примерчик мона? Что никак не доходит.
class MyCoolEventArgs : EventArgs { public bool FireException {get; set; } } someButton.Click += OnClick; class SomeForm : Form { public void OnClick (object sender, EventArgs args) { MyCoolEventArgs myEvent = args as MyCoolEvent; if (myEvent.FireException) throw new MyCoolEventException (); else { string fileName; if (OpenForm (out fileName) == DialogResult.OK) Save (fileName); } } public virtual DialogResult Openform (out string fileName) { OpenFileDialog openFiledialog = new OpenFileDialog(); fileName = openFileDialog.FileName; return openFileDialog.ShowDoalog (); } public virtual void Save (string fileName) { .... } }
Теперь тесты:
Вот как-то так. Писал тут, так что ежели какие-то ошибки, то сори :) Но смысел, думаю, понятен.
Млять! Тесты потерлись :( Гребаный движок :( Лениво все восстанавливать. Если не понятно, как могут выглядеть тесты, то я восстанавлю, но надеюсь, что все понятно :D