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