Edhy Rijo
|
|
Group: StrataFrame Users
Posts: 2.4K,
Visits: 23K
|
Larry, I believe in my case, since it only happened with Windows Server 2012R2 which is basically the same kernel as Win 8.1, that I was bite by the two issues, closing the application normally and also when AppLife Update applied an update, so having the code to cover both situation is working for me so far.
Edhy Rijo
|
|
|
Larry Caylor
|
|
Group: Awaiting Activation
Posts: 592,
Visits: 3.7K
|
Edhy, It's funny, the post Ivan referred you to didn't solve my AppLife issue. I've had that piece of code in place for years since I had run into a similar issue http://forum.strataframe.net/Topic4465.aspx?Keywords=exit#bm4570. In my environment I had to shut down session lock prior to executing the AppLife code that shuts down the application. -Larry
|
|
|
Edhy Rijo
|
|
Group: StrataFrame Users
Posts: 2.4K,
Visits: 23K
|
Hi Larry, Larry Caylor (10/20/2014) My applications use a custom login form where I've added the AppLife code. I shut down session lock before displaying the login form and start it back up in the load event of my main form.Thanks for the explanation. I also use a custom login, but I handle updates in 2 places: - In the AppMain.vb which has logic to check for update prior to allow anybody to login, this way if one workstation has updated, then all other must be updated to the same version to avoid issues with data structure changes, etc.
- In the Main form where it will allow users to check for update and install the update at will.
In any case stopping the session monitoring in the AppMain.vb as suggested by Ivan fix the issue. I only seen this issue in Windows Server 2012R2 not in Windows 8.1, but at any rate, I am glad it is fixed.
Edhy Rijo
|
|
|
Larry Caylor
|
|
Group: Awaiting Activation
Posts: 592,
Visits: 3.7K
|
Hi Edhy
Just saw your post and glad you got it working. My applications use a custom login form where I've added the AppLife code. I shut down session lock before displaying the login form and start it back up in the load event of my main form.
-Larry
|
|
|
Ivan George Borges
|
|
Group: StrataFrame MVPs
Posts: 1.9K,
Visits: 21K
|
Glad it helped, Edhy!
|
|
|
Edhy Rijo
|
|
Group: StrataFrame Users
Posts: 2.4K,
Visits: 23K
|
Hi Ivan, Thanks a lot for sharing this, definitely this solved my issue. Adding this code to stop the Session Monitoring right after the RunApplication line in your AppMain.vb / Program.cs fixed. '-- Run the application StrataFrameApplication.RunApplication()
'-- stop SessionLock Monitoring to avoid error on exit on Windows 8 SessionLock.StopSessionMonitoring()
Edhy Rijo
|
|
|
Ivan George Borges
|
|
Group: StrataFrame MVPs
Posts: 1.9K,
Visits: 21K
|
Hi Edhy. See if this one has anything to do with it: http://forum.strataframe.net/FindPost31637.aspxAbraços. Ivan
|
|
|
Edhy Rijo
|
|
Group: StrataFrame Users
Posts: 2.4K,
Visits: 23K
|
Hi Larry, I tried your solution, but still on some Windows 2012R2 I keep getting issues with the application not shutting down properly. Where specifically are you putting that code? I have 2 places where an AppLifeUpdate can be done in my applications: - In my main form, I have an UpdateController instance and I am stopping the session monitoring in the Updatestarting() event.
- In AppMain.vb I have a method that will instantiate a new UpdateController and if an update is found I am stopping the session monitoring.
Code in AppMain.vb:'------------------------------------------------------------------------------- '-- Check if there is an update available for the application. '------------------------------------------------------------------------------- With UpdateController Try frmSplashScreen.SetMessage("Please wait, checking for updates...") If .CheckForUpdate() Then '-- 5/6/2014: There is an issue reported by Larry Caylor at the SF forum in which he discovered that AppLifeUpdate could not closed ' the application properly before applying an update. ' http://forum.strataframe.net/FindPost32536.aspx SessionLock.StopSessionMonitoring() frmSplashScreen.HideSplash() UpdateController.UpdateInteractive() Else Basics.DisplayMessage("Application Version Error", "Sorry no update was found, please contact Progytech at www.progytech.com") End If Catch DownloadEx As Kjs.AppLife.Update.Controller.DownloadException SendErrorMessageViaEmail(DownloadEx) Catch ex As Exception SendErrorMessageViaEmail(ex) End Try End With
Private Sub UpdateController1_UpdateStarting(sender As Object, e As Kjs.AppLife.Update.Controller.UpdateStartingEventArgs) Handles UpdateController1.UpdateStarting If (Not e.IsInitiatingController) Then '-- 5/6/2014: There is an issue reported by Larry Caylor at the SF forum in which he discovered that AppLifeUpdate could not closed ' the application properly before applying an update. ' http://forum.strataframe.net/FindPost32536.aspx SessionLock.StopSessionMonitoring() End If End Sub
Edhy Rijo
|
|
|
StrataFrame Team
|
|
Group: StrataFrame Developers
Posts: 3K,
Visits: 2.5K
|
Good info, Larry, thanks. We add a low-level windows message hook into the application to detect any mouse movement or keyboard input in order to reset the session inactivity timer. It's possible that there was some sort of message we handled incorrectly or something else about that hook that's killing the application when you try to update it.
|
|
|
Edhy Rijo
|
|
Group: StrataFrame Users
Posts: 2.4K,
Visits: 23K
|
Hi Larry, Thanks for sharing this information. I have been having sort of the same issue but only with my applications being updated on Windows Server 2012R2. I don't think I have any customer using Windows XP, so did not worry too much. I use .Net 4.5, VB and SF 1.7.7.1 with VS2013. I will try your suggestion in the next week or so which I need to release an update and see if that fix the issue on Windows Server 2012 R2. Thanks again!!!
Edhy Rijo
|
|
|