我们有一个要在启动时运行的应用程序,它允许在安装后更改许多已安装的文件。DISABLEADVTSHORTCUTS=1
我们正在尝试通过在 Orca 中设置属性来关闭自愈模式。但是,设置此属性时不会创建任何快捷方式。我看到的所有信息都表明我们应该能够使用DISABLEADVTSHORTCUTS=1
set 创建“非广告”快捷方式。有任何想法吗?
DISABLEADVTSHORTCUTS
如果保持不变,我已经验证了正确创建快捷方式。
我们有一个要在启动时运行的应用程序,它允许在安装后更改许多已安装的文件。DISABLEADVTSHORTCUTS=1
我们正在尝试通过在 Orca 中设置属性来关闭自愈模式。但是,设置此属性时不会创建任何快捷方式。我看到的所有信息都表明我们应该能够使用DISABLEADVTSHORTCUTS=1
set 创建“非广告”快捷方式。有任何想法吗?
DISABLEADVTSHORTCUTS
如果保持不变,我已经验证了正确创建快捷方式。
如果您在 Visual Studio 2008 中创建安装和部署项目,有一个非常巧妙的技巧可以让您的快捷方式不被宣传:
在 UI 编辑器中添加一个文本框面板。使所有文本框不可见。将属性之一设为“DISABLEADVTSHORTCUTS”而不是 EDITAx。将值设为“1”。您的快捷方式将不做广告。
我想把这归功于我从谁那里偷来的,但我似乎找不到原始链接。
不确定这是否有帮助,但您可以尝试一下:以编程方式而不是手动方式进行。
资料来源: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
你不能禁用自我修复,那么为什么不安装非广告快捷方式开始呢?
您没有指定用于创建此包的内容,但例如使用 WiX,您只需设置Shortcut/@Advertise='no'
如果您尝试使用 Orca 调整现有安装包,请参阅快捷方式表的文档。广告快捷方式将ProductFeature
在Target
列中显示类似内容,而非广告快捷方式将使用类似[APPLICATIONFOLDER]MyApp.exe
或[#MyApp.exe]
自我修复可能很难调试和理解,但您需要了解其原因才能有效管理它。
请检查:如何确定是什么原因导致 Windows Installer 反复自我修复?全面审查此核心 MSI 问题。仅通过更改快捷方式无法可靠地管理它。
这是另一篇包含 MSI 核心信息的文章:使用 MSI 的企业利益。