DISABLEADVTSHORTCUTS = 1禁用所有快捷方式

Hat*_*ard 10 windows-installer orca advertised-shortcut

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

我已经验证,如果DISABLEADVTSHORTCUTS保持不变,则可以正确创建快捷方式.

小智 18

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

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

我想把它归功于我偷了它的人,但我似乎找不到原来的链接.

  • 好小的黑客.此外,您可以通过删除Welcom对话框并在新文本框对话框的BannerTitle和BannerText属性中放置相应的文本,而不是在其中添加此额外对话框,而是将此新对话框替换为欢迎对话框. (4认同)
  • 为什么要在安装程序项目属性中进行设置时,为什么必须这么复杂. (3认同)
  • 这很好用。摆脱了不得不与 ORCA 搞混的废话 (2认同)
  • 原始链接可能是 Jacob Wagner 的 [MSDN 上的帖子](https://social.msdn.microsoft.com/Forums/windows/en-US/b0a3e6d5-38f0-4a37-9418-dd8d9297ef97/using-visual-studio-deployment-项目安装标准 Windows 快捷方式而不是广告?forum=winformssetup)。 (2认同)

Dam*_*gel 13

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

来源帖子:Windows开发人员中心(来自discussweb.com)

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

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

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

如果您不知道在哪里可以找到WiRunSQL.vbs文件,我可以从以下站点获取:svn.nuxeo.org

  • 到目前为止我发现的最好的解决方案是使用上面上面的WDC链接中描述的方法1,但不是在构建后编辑每个单独的.msi,而是使用方法1在"<VS安装文件夹>"中设置属性Common7 \工具\部署\ VsdSchema\schema.msi".在"schema.msi"中设置属性后,所有后续构建的.msi文件都将设置属性. (3认同)
  • @Damian Vogel 你就是男人!这完美无缺。由于文件的上述链接不起作用,可以在此处找到 WiRunSQL.vbs 文件 https://github.com/Excel-DNA/WiXInstaller/blob/master/Source/WiRunSQL.vbs 只需将代码复制粘贴到记事本中并保存名称为 WiRunSQL.vbs,它将起作用! (3认同)

sas*_*ont 2

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

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

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