代码之家  ›  专栏  ›  技术社区  ›  Jeff Caron

“通知”图标在设置后并不总是出现在系统托盘中,但仍能正常工作

  •  2
  • Jeff Caron  · 技术社区  · 16 年前

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

    但是,当应用程序从以安静模式运行的msi启动时,我的通知图标并不总是出现,但应用程序是正常运行的 我可以:使用快捷键访问上下文菜单。我在三台运行WindowsXP的电脑上测试,成功率在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 vs.exe)有关?我认为这可能是我的代码错误,因为它在我直接启动时工作良好。

    1 回复  |  直到 9 年前
        1
  •  1
  •   Christopher Painter    16 年前

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

    对于那些质疑这一要求的人来说,这样做是很正常的。作为一个短信管理员,我会悄悄推出软件包,关闭托盘应用程序,卸载旧版本,安装新版本,并将试用应用程序放回原处。所有这些都没有被探员发现,它曾经失踪过。