DISABLEADVTSHORTCUTS=1 отключает все ярлыки
У нас есть приложение для запуска при запуске, которое позволяет изменять многие установленные файлы после установки. Мы пытаемся отключить режим самовосстановления, установив DISABLEADVTSHORTCUTS=1
недвижимость в Orca. Однако, когда это свойство установлено, ярлыки не создаются. Вся информация, которую я видел, указывает на то, что мы должны иметь возможность создавать "нерекламированные" ярлыки с DISABLEADVTSHORTCUTS=1
задавать. Есть идеи?
Я проверил, что ярлыки созданы правильно, если DISABLEADVTSHORTCUTS
оставлено без изменений.
4 ответа
Если вы создаете проект установки и развертывания в Visual Studio 2008, есть очень хитрый способ сделать ваши ярлыки нерекламированными:
Добавьте панель текстовых полей в редакторе пользовательского интерфейса. Сделайте все текстовые поля невидимыми. Сделайте одно из свойств DISABLEADVTSHORTCUTS вместо EDITAx. Сделайте значение "1". Ваши ярлыки будут не рекламироваться.
Я хотел бы отдать должное тому, у кого я его украл, но я не могу найти оригинальную ссылку.
Не уверен, что это поможет, но вы можете попробовать: сделать это программно, а не вручную.
Исходное сообщение: Центр разработчиков Windows (через Discusweb.com)
"Скопируйте файл WiRunSQL.vbs в каталог вашего проекта. Теперь в Visual Studio 2005 выберите ваш проект установки в обозревателе решений. Выберите его свойства. В окне свойств добавьте следующий скрипт в свойство PostBuildEvent.
cscript //nologo "$(ProjectDir)WiRunSql.vbs" "$(BuiltOuputPath)" "INSERT INTO Property(Property, Value) VALUES ('DISABLEADVTSHORTCUTS', '1')"
Этот скрипт автоматически запустится после того, как проект будет собран, и вставит истинное значение DISABLEADVTSHORTCUTS в таблицу свойств приложения MSI."
Если вы не знаете, где найти файл WiRunSQL.vbs, я получил его со следующего сайта: svn.nuxeo.org
Вы не можете отключить самовосстановление, так почему бы просто не начать устанавливать ярлыки без рекламы?
Вы не указываете, что вы используете для создания этого пакета, но с WiX, например, вы просто установите Shortcut/@Advertise='no'
Если вы пытаетесь втиснуть существующий установочный пакет с помощью Orca, см. Документацию для таблицы ярлыков. Рекламируемый ярлык будет иметь что-то вроде ProductFeature
в Target
столбец, в то время как нерекламированный ярлык будет использовать что-то вроде [APPLICATIONFOLDER]MyApp.exe
или же [#MyApp.exe]
Самолечение может быть трудно отладить и понять, но вы должны понимать его причины, чтобы иметь возможность эффективно управлять им.
Пожалуйста, проверьте: Как я могу определить, что вызывает повторное самостоятельное восстановление установщика Windows? для всестороннего обзора этой основной проблемы MSI. Он не может быть надежно управляемым просто путем изменения ваших ярлыков.
Вот еще одна статья с основной информацией MSI: Корпоративные преимущества использования MSI.