DISABLEADVTSHORTCUTS = 1禁用所有快捷方式

时间:2010-01-29 22:51:46

标签: windows-installer orca advertised-shortcut

我们有一个应用程序可以在启动时运行,允许在安装后更改许多已安装的文件。我们试图通过在Orca中设置DISABLEADVTSHORTCUTS=1属性来关闭自我修复模式。但是,设置此属性时不会创建任何快捷方式。我看到的所有信息都表明我们应该能够使用DISABLEADVTSHORTCUTS=1设置创建“非广告”快捷方式。有什么想法吗?

我已经确认,如果DISABLEADVTSHORTCUTS保持不变,则会正确创建快捷方式。

4 个答案:

答案 0 :(得分:17)

如果您在Visual Studio 2008中创建一个安装和部署项目,那么可以使用一个非常灵活的技巧来使您的快捷方式得到广告宣传:

在UI编辑器中添加文本框面板。使所有文本框不可见。制作其中一个属性'DISABLEADVTSHORTCUTS'而不是EDITAx。使值“1”。您的快捷方式将不会公布。

我想把这件事归功于我从中偷走的人,但我似乎找不到原来的链接。

答案 1 :(得分:13)

不确定这是否有帮助,但您可以尝试一下:以编程方式而不是手动方式。

来源帖子:Windows Developer Center(通过discussweb.com

“将WiRunSQL.vbs文件复制到项目目录中。现在,在Visual Studio 2005中,在解决方案资源管理器中选择您的安装项目。选择其属性。在属性窗口中,将以下脚本添加到PostBuildEvent属性。

cscript //nologo "$(ProjectDir)WiRunSql.vbs" "$(BuiltOuputPath)" "INSERT INTO Property(Property, Value) VALUES ('DISABLEADVTSHORTCUTS', '1')"

一旦构建项目,该脚本将自动运行,并将DISABLEADVTSHORTCUTS true值插入应用程序MSI属性表。“

如果你不知道在哪里可以找到WiRunSQL.vbs文件,我是从以下网站获得的:svn.nuxeo.org

答案 2 :(得分:2)

您无法禁用自我修复,那么为什么不安装非广告的快捷方式呢?

您没有指定用于创建此程序包的内容,但是使用WiX,您只需设置Shortcut/@Advertise='no'

如果您尝试使用Orca按摩现有安装包,请参阅Shortcut table的文档。广告的快捷方式在ProductFeature列中会显示Target,而非广告的快捷方式会使用[APPLICATIONFOLDER]MyApp.exe[#MyApp.exe]

答案 3 :(得分:1)

自我修复可能难以调试和理解,但您需要了解其原因才能有效地进行管理。

请检查 How can I determine what causes repeated Windows Installer self-repair? ,以全面审核此核心MSI问题。仅通过更改快捷方式无法可靠地管理它。

以下是另一篇包含MSI核心信息的文章:The corporate benefits of using MSI

相关问题