cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
mariadesouza
Level 3

FlexNET Connect with Firewall repeatedly contacting server

We are using FlexNET Connect 6.1 and have a self hosted server.

We have code that on start up checks if service is enabled and for interval elapse. If interval elapsed it will call IsConnectedToNotificationServer and if so will do GetNotificationCollection and alert the user. If the user chooses it will showNotifications.

We have got some complaints from users regarding the behaviour of FlexNEt particularly when they have a Firewall installed. The FlexNET software tries to contact the server every couple of minutes. We have had several other complaints of it repeatedly trying to contact the FlexNET server.

1. Under what circumstances will the server get contacted besides when GetNotificationCollection or UploadTransaction is specifically done?

2. Do the calls HasIntervalElapsed or IsServiceEnabled contact the server?

3. If FlexNET is denied access to the internet, when will it retry to make a connection and how often does it retry?

NOte we have also hidden our product from the common software manager in our installer.

Any help would be appreciated.
0 Kudos
(3) Replies
ugar_k
Level 4

Hi Maria,

"If the user chooses it will showNotifications."

>> ShowNotifications uses the ISUS ( i think InstallShield Update Service ) which is the update manager, this is separate from the agent.

"We have got some complaints from users regarding the behaviour of FlexNEt particularly when they have a Firewall installed. The FlexNET software tries to contact the server every couple of minutes. We have had several other complaints of it repeatedly trying to contact the FlexNET server."

>> I'm guessing this is most likely the Software Update Manager, ISUS, that is making these calls.

"1. Under what circumstances will the server get contacted besides when GetNotificationCollection or UploadTransaction is specifically done?"

>> If you're using the Software Update Manager, this also can act like a separate process/application. It installs itself so that it starts on start-up of the client PC and independently checks for updates. You'd also notice it run independently upon start of your application.

"2. Do the calls HasIntervalElapsed or IsServiceEnabled contact the server?"

>> No, they contact the agent on the client PC. ( agent.exe ) If you go in the C:\Document and Settings\All Users\Application Data\Macrovision\FLEXnet Connect\Database\ location and open the .ini file for the particular product, you'll notice the field "ScheduleInterval". I believe HasIntervalElapsed() just subtracts "LastCheckPerformed" from the current data and compares with "ScheduleInterval". IsServiceEnabled enables the update service for that product on the client PC.

"3. If FlexNET is denied access to the internet, when will it retry to make a connection and how often does it retry?"

>> I don't know how often the Update Service tries, but it seems to be annoying. If you only use the agent, then you are in control of that.

"Note we have also hidden our product from the common software manager in our installer."

>> If you are referring to ISUS when you say the common software manager, by calling the function ShowNotifications, you are using it.

I recommend taking a look at the processes running on any client PC with your installation. You can either use the Task Manager, or I highly recommend using Process Explorer: ( http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx ). Check to see if the ISUS.exe is running after your installation (without your application running), this is most likely your problem. In our implementation, we disliked the GUI to the Update Manager and didn't know how it was running (it also runs independently of your application running, starts at client PC start up). We install the Agent with our installation using the Merge Module and do not use the Update Service, by this we also do not use ShowNotifications() or any function referring to the Update Service, we create our own dialog and process our own messages.

Regarding using FNC 6.1, if you are using InstallScripts as your installer, then you should be using the Merge Module to install FLEXnet, otherwise you will also get a lot of these issues, because it doesn't properly install/configure. This wasn't explained in the documentation, but if you are using InstallScripts, then this could one of your problems, if not the one.

The ISUS manager has it's own database files that you can see/view. They're located in: C:\Documents and Settings\All Users\Application Data\InstallShield\UpdateService\Database
You will see user specific information in the User specific application data folders.

Hope this helps, and anyone feel free to correct me if I am mistaken at any point.

- ugar_k
0 Kudos
mariadesouza
Level 3

Thanks for your informative reply.

In the Help file it states that are two versions of the Software Manger a web interface and the Common Software Manager. This is an excerpt form there

"The Software Manager is part of the FLEXnet Connect Agent. It has a similar look and feel to the Common Software Manager; however, the Software Manager has the ability to show notifications related to a single product or a suite of products from the same vendor. This is the one that is shown by ShowNotifications API."
it is equivalent to running
Agent -sn{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} -AppMenu

The other one is:

"The Common Software Manager can be configured to ignore a registered product. When a product is hidden, the Common Software Manager neither displays the product in its UI nor checks for its notifications.

Run isuspm.exe with the -hide command-line option.
isuspm.exe –hide{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} "

And that is what we did to hide our product from the common software manager in our installer

You are right though, when I look at the processes running the common software manager(isuspm.exe) is always running. However when I call on ShowNotifications I see the agent.exe running.

If I kill the isuspm.exe process it does not affect anything. I can still check for updates.

So essentially we are using the agent to make calls by using ShowNotifications. So maybe if we just prevent isuspm from running we may be in more control of when it connects to the server. What are your thoughts on this?
0 Kudos
ugar_k
Level 4

Hi Maria,

Thanks for clearing up the Software Manager and Common Software Manager.

"So maybe if we just prevent isuspm from running we may be in more control of when it connects to the server. What are your thoughts on this?"

>> That's precisely what we're doing. By not using the isuspm, you can control when the agent connects to the server by the function calls, at least that's how it seems to be working in our implementation. Then, based on how you intend to do updates/send messages, you would need to create the logic to parse the collection and the dialog to display the message(s).

Let us know if preventing / not using the isuspm solves your problem(s). There may be more to the Software Manager, but we didn't have the time or bandwidth to figure it out, we simply don't use it and do our own message/update handling. The issues we faced for implementation were pretty from much the lack of or ambiguous documentation. It was more of an investigative effort and asking the "right" questions to tech support (who were pretty helpful).

Best Regards,
ugar_k
0 Kudos