12

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

DISABLEADVTSHORTCUTS如果保持不变,我已经验证了正确创建快捷方式。

4

4 回答 4

22

如果您在 Visual Studio 2008 中创建安装和部署项目,有一个非常巧妙的技巧可以让您的快捷方式不被宣传:

在 UI 编辑器中添加一个文本框面板。使所有文本框不可见。将属性之一设为“DISABLEADVTSHORTCUTS”而不是 EDITAx。将值设为“1”。您的快捷方式将不做广告。

我想把这归功于我从谁那里偷来的,但我似乎找不到原始链接。

于 2010-04-15T17:35:21.370 回答
14

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

资料来源:Windows 开发者中心(通过讨论 web.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

于 2010-07-19T17:01:11.683 回答
2

你不能禁用自我修复,那么为什么不安装非广告快捷方式开始呢?

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

如果您尝试使用 Orca 调整现有安装包,请参阅快捷方式表的文档。广告快捷方式将ProductFeatureTarget列中显示类似内容,而非广告快捷方式将使用类似[APPLICATIONFOLDER]MyApp.exe[#MyApp.exe]

于 2010-02-01T05:59:31.227 回答
1

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

请检查如何确定是什么原因导致 Windows Installer 反复自我修复?全面审查此核心 MSI 问题。仅通过更改快捷方式无法可靠地管理它。

这是另一篇包含 MSI 核心信息的文章:使用 MSI 的企业利益

于 2014-11-17T20:33:31.210 回答