DISABLEADVTSHORTCUTS = 1 отключает все ярлыки - PullRequest
10 голосов
/ 30 января 2010

У нас есть приложение для запуска при запуске, которое позволяет изменять многие установленные файлы после установки. Мы пытаемся отключить режим самовосстановления, установив свойство DISABLEADVTSHORTCUTS=1 в Orca. Однако ярлыки не создаются при установке этого свойства. Вся информация, которую я видел, указывает на то, что мы должны иметь возможность создавать «нерекламированные» ярлыки с набором DISABLEADVTSHORTCUTS=1. Есть идеи?

Я убедился, что ярлыки созданы правильно, если DISABLEADVTSHORTCUTS оставить без изменений.

Ответы [ 4 ]

17 голосов
/ 15 апреля 2010

Если вы создаете проект установки и развертывания в Visual Studio 2008, есть очень хитрый способ сделать ваши ярлыки НЕ объявленными:

Добавить панель текстовых полей в редакторе пользовательского интерфейса. Сделайте все текстовые поля невидимыми. Сделайте одно из свойств DISABLEADVTSHORTCUTS вместо EDITAx. Сделайте значение «1». Ваши ярлыки не будут рекламироваться.

Я хотел бы отдать должное этому тому, у кого я его украл, но я не могу найти оригинальную ссылку.

13 голосов
/ 19 июля 2010

Не уверен, что это поможет, но вы можете попробовать: сделать это программно, а не вручную.

Исходное сообщение: Центр разработчиков Windows (через обсужденияweb.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

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

Вы не можете отключить самовосстановление, так почему бы просто не начать устанавливать ярлыки без рекламы?

Вы не указываете, что вы используете для создания этого пакета, но, например, для WiX вы просто установите Shortcut/@Advertise='no'

Если вы пытаетесь выполнить массаж существующего установочного пакета с помощью Orca, см. Документацию для таблицы ярлыков . У объявленного ярлыка будет что-то вроде ProductFeature в столбце Target, в то время как у нерекламированного ярлыка будет что-то вроде [APPLICATIONFOLDER]MyApp.exe или [#MyApp.exe]

.
1 голос
/ 17 ноября 2014

Самовосстановление может быть трудно отладить и понять , но вы должны понимать его причины, чтобы иметь возможность эффективно управлять им.

Пожалуйста, проверьте : Как определить причины неоднократного самовосстановления установщика Windows? для подробного анализа этой основной проблемы MSI. Надежно управлять им нельзя, просто изменив ярлыки.

Вот еще одна статья с основной информацией MSI: Корпоративные преимущества использования MSI .

...