[Resolved] Systray Icon Missing

uBlast

New Member
I´ve been using the latest version of adguard for some time, but suddenly tray icon does not show anymore when I start the windows. Executing Adguard through desktop shortcut makes the green badge icon show again, but on system restart it does not show. Besides the icon show not showing, the Adguard is active since it filters de ADs and shows the assistant on browsers. So, I assume the "start with windows" option is working, even with no icon on tray. Below some aspects I´ve noticed:

- System: Windows 8.1 Professional x64 fully updated with windows update latest releases.
- Adguard service set correctly as automatic and working fine. (C:\Program Files (x86)\Adguard\AdguardSvc.exe)
- Adguard itself filtering OK and showing the assistant on browsers, but no icon on systray.
- "Launch Adguard at startup" option set and working, confirmed it is set to startup with windows using windows and 3th party tools.
Any suggestions are welcome, Im really loooking forward to solve this.
 

mysteriously

Beta Tester & Translator
Adguard is working because service handles filtering :)
Did you try to untick and tick 'start with windows' again?
Please check via task manager if Adguard.exe process is running when you restart your PC. If so then you may try to kill all explorer.exe instances and click File- -> New task -> explorer.exe. Is Adguard icon visible in taskbar now?
 

avatar

Administrator
Staff member
Administrator
buuuu is right, the first thing to check is presence of Adguard.exe in processes list.

If it present then it could be the issue with Windows icon cache. It is rather common issue.
 
Last edited by a moderator:

uBlast

New Member
Boo is right, the first thing to check is presence of Adguard.exe in processes list.

If it present then it could be the issue with Windows icon cache. It is rather common issue.
The process Adguard.exe is not running after reboot. The service is OK, but the application itself does not start with windows.

PS: The option related to start with windows is active. Windows itself shows that Adguard is set to start with windows (through Win 8.1 task manager) and also Windows Sysinternals tool "autoruns" show the entry:

Adguard
Adguard Web Filter
Insoft LLC

HKCU\Software\Microsoft\Windows\CurrentVersion\Run
c:\program files (x86)\adguard\adguard.exe
The process list after reboot only shows one entry related to adguard: AdguardSvc.exe

I tried may things already:

- Fully uninstall Adguard wiping any remnants with Reg Organizer and Total Uninstall, then reinstalling Adguard.
- I had MalwareBytes installed, I uninstalled it for testing purposes.
- I deleted all startup entries of my system for testing purposes.
- Tried a different way of startup making the adguard shortcut start from startup folder. No luck as well.

Well, Im open for suggestions. Will keep myself thinking here on what happened to cause such behavior. But weird things is that just happens with adguard. If I install another program and set it for start with windows, it works as expected.

I´ve recently installed Steam and one game, only thing I can remember I did unusual. Will try to uninstall the steam stuff as well and see how it does.
 

Boo Berry

Moderator + Beta Tester
Moderator
Quick glance at the logs, these entries catch my eye;

ERROR, Adguard, 1, 21.12.2014 17:25:18.720, Error starting application: System.InvalidOperationException: Temporary directory is not exist.
Source: Adguard.Commons
Stack trace: em Adguard.Commons.Windows.WindowsTools.GetTempPath()
em Adguard.Domain.Locations.Ph8y36QbuIx9hbwpjMu()
em Adguard.Domain.Locations.get_InstallationFile()
em Adguard.App.MXfdV5VQtUPZNFqUMOK()
em Adguard.App.get_IsFirstRunAfterInstall()
em Adguard.App.TfcHK4VIC1nh4m6rlyc()
em Adguard.App.hCa9k7RlOp()
em Adguard.App.mcO1uGugLmJ8h4XQHb1()
em Adguard.App.OnStartup(StartupEventArgs e)
 

uBlast

New Member
I´ve seen this as well, but need guidance to understand what it means and how I should proceed for the main purpose: making the adguard app start with windows again.
 

avatar

Administrator
Staff member
Administrator
I´ve seen this as well, but need guidance to understand what it means and how I should proceed for the main purpose: making the adguard app start with windows again.
Check %windir%\Temp folder presence.
If it does not exist - create it manually.
 

Dolfi

Banned
Check %windir%\Temp folder presence.
If it does not exist - create it manually.
If Win8 is not completely different it's %TEMP%* (and having a look for the existence of %TMP% won't hurt too)

*whichs std location is %WINDIR%\Temp but the existence of the dir won't help unless the environment variable points to it ;)


edit: @avatar: why rely on such? Just create a TEMP folder yourself like you do it anyway for SSL. It's way better than SYSTEMP anyway as you can fully control (delete) its content w/o harming anything else
 
Last edited by a moderator:

uBlast

New Member
I am at work, will reach home in a couple of hours, and then I can do tests.

Yes, my temp dirs are realocated to an HDD since I use SSD. Also all system variables are set to the current paths. I just don´t understand why Adguard is the only app that is complaining about this. There´s no way for make it use its own temp folder?
 

avatar

Administrator
Staff member
Administrator
I am at work, will reach home in a couple of hours, and then I can do tests.

Yes, my temp dirs are realocated to an HDD since I use SSD. Also all system variables are set to the current paths. I just don´t understand why Adguard is the only app that is complaining about this. There´s no way for make it use its own temp folder?
Adguard checks Temp directories presence on startup. Maybe these dirs are not yet mounted at this time?
 

Dolfi

Banned
@avatar: Do not defend (stupid) hard coding ;) All drives are mounted ages before any bloody service or even a user (HKCU!) app starts.
As told above even using SYSTEMP was not really clever (as some other Win stds!).

Add a special tmp folder to your %APPDATA% and all is fine.


It appears ridiculous to me if you reject useful Windows UI design guidelines but follow stupid generalizations (like a common TEMP, where any bloody app can delete your temp files any time!).

---------- Post added at 06:53 PM ---------- Previous post was at 06:49 PM ----------

I am at work, will reach home in a couple of hours, and then I can do tests.

Yes, my temp dirs are realocated to an HDD since I use SSD. Also all system variables are set to the current paths. I just don´t understand why Adguard is the only app that is complaining about this. There´s no way for make it use its own temp folder?
I kiss your feet, mate!
Ususally I am the idiot defending best practices and everyone says "WTF! We do it our way. Noone ever complained".
But every once in a while a user comes around justifying the (very little) effort to use best practices.
 
Last edited by a moderator:

avatar

Administrator
Staff member
Administrator
@avatar: Do not defend (stupid) hard coding ;) All drives are mounted ages before any bloody service or even a user (HKCU!) app starts.
As told above even using SYSTEMP was not really clever (as some other Win stds!).

Add a special tmp folder to your %APPDATA% and all is fine.


It appears ridiculous to me if you reject useful Windows UI design guidelines but follow stupid generalizations (like a common TEMP, where any bloody app can delete your temp files any time!).
There's no hardcode, we check %TMP%, %TEMP%, %USERPROFILE% and even %WINDIR% and we'll use first that works.

So the only way it could stop working - if env variables aren't set.
 

Dolfi

Banned
So the only way it could stop working - if env variables aren't set.
...it still worked if you had your very own hardcoded (ouch! @Dolfi ;)) Temp dir. :D
OP might run tools like WinInternals ProcMon, but is the juice worth the sqeeze??


edit: FWIW: In Win it is technically simply impossible that envvars aren't set at the time a user app is started. Not when started from HKCU, even less from Startup folder.
Back in the days I was coding: In such cases I built debug versions writing down the relevant system variables/states/etc to a log. But again: is the juice worth the squeeze?
 
Last edited by a moderator:

uBlast

New Member
I kiss your feet, mate!
Ususally I am the idiot defending best practices and everyone says "WTF! We do it our way. Noone ever complained".
But every once in a while a user comes around justifying the (very little) effort to use best practices.
Thanks Dolfi. I guess we are thinking the same way.

The problem for me here is to understand in first place why Adguard does this check for windows temp dir at startup instead of making use of an own temp folder that could be located under %:\Users\*\AppData or under %:\ProgramData - So if I decide for example to point windows temp dir to a ram disk with delayed startup, that will mean Adguard will fail to start correctly on windows launch since it will check for a temp folder that is not yet avaliable? If that´s correct, I think that´s a serious hassle.

Adguard startup should not be related to the location or existence of windows temp dir...

Solutions I would suggest as improvement for a next version:

1 - Total removal of such behavior (the checking for windows temp dir)
2 - Implementation of an own temp folder instead of using windows
3 - An option inside the adguard settings making possible to choose where to set a temp folder. Something like "browser and set TEMP working folder".
 

Dolfi

Banned
+1 (pretty surprising, isn't it ;))
3) was IMHO too much though. No AG user will ever give a f* where temps are stored. Not even me. It just should be a place under total control of AG exes.
 

mysteriously

Beta Tester & Translator
All drives are mounted ages before any bloody service or even a user (HKCU!) app starts.
Hmm... Nope. In some specific cases this statement is false

There's no hardcode, we check %TMP%, %TEMP%, %USERPROFILE% and even %WINDIR% and we'll use first that works.

So the only way it could stop working - if env variables aren't set.
Or he has encrypted partition(s) && they are mounted too late for example at user login. If Adguard service is set to automatic start, when does it exactly start? At pre-boot state/when first user log in or ?
 
Top