We’ve developed a desktop application using .NetFX3.5 which has some winforms and two WPF windows. I’ve installed it on almost 20 different computers (most of them have XP) and all are working fine except for three PCs (which also have XP and relatively new hardware specs).
Here is the situation:
-
WPFWindow1contains some buttons with click events (which all work fine), and aProgressBarwhich reads from a list and generates some UIElements for each of them (the creation of these UIElemets use both binding approach and classic child adding approach. -
WPFWindow2contains a help button with a click event (which works fine) and aComboBox(which only populates its items correctly).
And the problem:
-
When I open
WPFWindow1, theProgressBardoes not start although it’s provided with the proper objects to read from. -
And in
WPFWindow2, when I select an item formComboBoxI expect it to show its reports below the ComboBox but it doesn’t show anything.
I’ve installed .NetFX4 on all target computers. maybe another assembly or update is missing?
or something wrong with permissions (this is a high security site and we use some strict policies with symantec endpoint protection)
Any help, advice, suggestions, insight or else is greatly appreciated.
When WPFWindow2 is loaded the following timer starts:
void delayTimer_Elapsed(...)
{
delayTimer.Stop();
Dispatcher.Invoke(new System.Windows.Forms.MethodInvoker(
delegate{
foreach(var data in dataList)
{
MyWpfControlList.Add(new MyWpfControl(data));
progressBar.Value++;
Application.DoEvents();
}
}));
}
Edited: I’m not sure where this issue is coming from. But since it’s working almost everywhere, I don’t think it would be related to the code.
Could it be a windows update?
The progress bar is showing a background task is that correct? If so is the background task executed on a background thread or on the UI thread? If the UI then you may find that some computers (ie: those with 1 CPU or low powered CPUs) the message pump is unable to update the progress bar as your CPU is being used largely for the list update. If this is the case what you need to do is to execute your background task on a thread and update the progress bar periodically using Dispatcher.Invoke to marshal the updates onto the UI thread.
Please can you post a code example so we can take a closer look? Otherwise its just guesswork!
Best regards,