Създадох инсталатора на MSI за нашето приложение C #през VS 2008. Аз го инсталирах. Тя създаде пряк път за мен на работния плот. Кликнах върху този пряк път, процесът на настройка стартира отново и в края на проекта ни стартира. Това не беше така вчера, преди да добавя някои персонализирани действия за създаване на база данни. Не съм пресъздал прекия път в инсталатора. Защо е така?
Отговори:
5 за отговор № 1MSI идва с функция за автоматично ремонт, която проверява дали всички компоненти, инсталирани от MSI, все още са налице, когато стартирате приложението си с помощта на прекия път.
Във вашия случай вероятно е бил премахнат един (или повече) компоненти, така че инсталаторът да бъде пуснат отново, за да поправи инсталацията ви.
За да избегнете автоматичното поправяне
- Уверете се, че няма премахнат файл, настройка на системния регистър или друг инсталиран компонент
или
- Не поставяйте пътя на ключовете за тези компоненти, което ще попречи на MSI да провери тези специфични компоненти
От вашите други въпроси изглежда, че вашият MSIе създаден от проект за инсталиране и инсталиране на Visual Studio. За съжаление, няма опция за модифициране на ключовия път в рамките на Visual Studio. Имате следните опции:
- Промяна на MSI ръчно чрез Orca (Това не е добър вариант, защото е ръчна стъпка)
- Напишете сценария напр. използвайки VBScript, за да залепи MSI файла
- Преминете към по-модерна инсталационна система, която ви дава по-голям контрол като WiX или NSIS
6 за отговор № 2
Отворете MSI ръчно, като използвате Orca. Добавете следния запис в таблицата за свойства (свойство, стойност) без котировките:
Имот = "DISABLEADVTSHORTCUTS" Стойност = "1"
Това също може да бъде сценарирано и изпълнено като част от събитие след изграждането.
1 за отговор № 3
Командата за бърз достъп ли посочва приложението ви или настройката ви? Ако посочите настройката си и я промените на приложението си, проблемът изчезна ли?
1 за отговор № 4
Звучи, че системата смята, че инсталирането е повредено и автоматично се опитва да се поправи. Всичко в регистрационните файлове за събития (потърсете източника на MsiInstaller в регистъра на събитията за приложения).
Изграждали ли сте няколко копия?
1 за отговор № 5
Това се случва, когато приложението изтрие файл, инсталиран по време на инсталацията. Автоматичната ремонт е активирана и по този начин ще получите инсталационния екран.
0 за отговор № 6
Имаше същия проблем. В моя случай се оказа, че проблемът е "Производител" и "Име на продукт" в рамките на свойствата на проект Deoplyment Project. Трябва да бъде същата като структурата на папките, към която е насочена вашата пряк път, в противен случай ще приключите с "Ресурс" C: Program Files (x86) [Производител] [ProductName] "не съществува" грешка в Viewer ,