«Параметр неверен» при нажатии закрепленного элемента в Windows 7 после обновления приложения - PullRequest
6 голосов
/ 01 февраля 2010

У меня следующая ситуация:

  1. Установил мое приложение, используя обычный .msi
  2. Запустить приложение из меню Пуск
  3. Щелкните правой кнопкой мыши значок на панели задач и закрепите его.

Теперь я могу использовать закрепленный элемент / ярлык для запуска своего приложения, но после того, как я обновлю свое приложение с помощью другого MSI-файла, при нажатии на закрепленный элемент отобразится эта ошибка:

'Проблема с ярлыком' - неверный параметр.

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

Дополнительная информация:

  1. Приложение написано на C # .NET 3.5 SP1
  2. msi создается с помощью проекта установки в Visual Studio 2008 SP1
  3. Я использую пользовательский инструмент для сборки, чтобы интегрировать сборку MSI, и для ProductCode и PackageCode устанавливаем новый GUID для каждой версии.
  4. В противном случае обновление работает нормально. Старая версия удалена, новая установлена ​​правильно.

Кто-нибудь получил подсказку?

Ответы [ 2 ]

2 голосов
/ 01 февраля 2010

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

Установить идентификатор приложения легко, если вы используете Windows API Code Pack. Вы?

Kate

0 голосов
/ 01 февраля 2010

См. Эту статью о ProductCode и PackageCode: http://www.simple -talk.com / dotnet / visual-studio / updates-to-setup-projects /

В нем объясняется, как ProductCode и PackageCode взаимодействуют во время установки, и как настроить проект установки для правильного применения MSI-файла в качестве обновления.

...