【问题标题】:Notify icon not always appearing in the system tray after a setup, but still functional设置后通知图标并不总是出现在系统托盘中,但仍然有效
【发布时间】:2011-04-04 11:43:45
【问题描述】:

首先,当我正常启动应用程序时(双击exe),它运行良好:通知图标总是出现在系统托盘中。当应用程序在 msi 设置结束时启动时,它也能正常工作 (Run exe after msi installation?)。

但是,当应用程序从以安静模式运行的 msi 启动时,我的通知图标并不总是出现,但应用程序可以正常工作:我可以使用键盘快捷键访问上下文菜单.我在三台运行 Windows XP 的计算机上进行了测试,成功率在 50% 左右。我还在 Windows7 上进行了测试:它运行良好。

我知道Windows XP启动时的通知图标有一些问题,但不知道是否相关(http://www.google.ca/search?hl=fr&q=notify+icon+not+appearing+Windows+XP&aq=f&aqi=&aql=&oq=&gs_rfai=

所以,我想知道你们中是否有人遇到过这个问题。你认为这是 Windows XP 的错误吗?还是与启动应用程序的人有关(msiexec 与 .exe)?我不认为这可能是我的代码中的错误,因为当我直接启动它时它运行良好。

【问题讨论】:

  • 我从未听说过“安静模式”。
  • @Hans,我认为 OP 的意思是运行 MSI 时可以使用的“安静模式”,即msiexec /quiet =)
  • @Rob,为什么安装程序需要托盘图标?
  • @Hans,我从阅读这个问题的感觉是,用户的意思是“当应用程序启动时从以安静模式运行的 msi,我的通知图标并不总是出现,但应用程序正常运行”,而不是安装程序需要托盘图标
  • @Rob,为什么安装程序会在应该安静的时候启动程序?你真的不必回答这个问题:)

标签: c# windows-xp windows-installer system-tray notifyicon


【解决方案1】:

您必须意识到,当您静默运行 ( /quiet /qn UILevel=3 ) 时,InstallUISequence 不会运行,只有 InstallExecuteSequence 会运行。因此,在静默运行时,您需要安排自定义操作在 InstallExecuteSequence 结束时运行,以便您的 C# 程序运行并将其自身放置在托盘中。

对于那些质疑这个要求的人来说,这样做是很正常的。作为 SMS 管理员,我会静默推出会关闭托盘应用程序、卸载旧版本、安装新版本并放回试用应用程序的包。所有这一切都没有代理人几乎没有注意到它曾经失踪过。

【讨论】:

  • +1 来自我 - 你在第二段中描述的场景是我在 OPs 问题上的 cmets 中努力描述的场景(并且失败得很惨!)=)
  • 没有问题。我曾经在一家大型航空公司工作,该航空公司的绿屏航站楼基本上是无国籍的。我们曾经推出了一个软件更新,该更新会擦除并重新加载,甚至如果该程序正在运行,甚至可以启动该程序。最后,我们向重绘屏幕的大型机发送了一个文本命令。他们永远不知道是什么击中了他们。 :-)
  • 感谢您的回答克里斯托弗。实际上,我有一个后期构建脚本,它修改我的 MSI 并在 InstallExecuteSequence 中添加一行以在特定条件下启动我的应用程序(CLIENTUILEVEL=2 或 CLIENTUILEVEL=3)。我将序列设置为 -1 (msdn.microsoft.com/en-us/library/aa369500(VS.85).aspx>)。正如我所说,应用程序已启动,但我的通知图标并不总是可见。
  • -1 是一个奇怪的建议。这是成功完成时显示的对话框的保留序列号,我认为它不会在静默安装中被调用,但可惜它必须是因为您的应用程序已启动。尽管如此,我还是将 InstallFinalize 作为即时执行 CA 进行排序,因此我们知道它在用户上下文中运行。嗯,既然你的应用程序启动了,问题是间歇性的,我想知道是不是应用程序本身有问题。
  • 好吧,我真的怀疑是 Windows 错误。我使用通知图标制作了最简单的应用程序,仅用于测试目的,但问题仍然随机出现。有没有办法关闭这个帖子(我是新来的)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-20
相关资源
最近更新 更多