Archive: Restart Manager / Uninstaller


Restart Manager / Uninstaller
My software must pass "OEM Ready Program" (like Windows logo Program).

http://msdn.microsoft.com/en-us/wind.../cc315067.aspx

However, the uninstaller of my software which I made in NSIS fails on a test of Restart Manager.

---------------
3.1.1 : Verify the application is Restart Manager Aware
TEST STEPS:
For each Qualifying Application’s main executable:
1. Launch the application or start the service if your application is a service.
2. Open the Windows Task Manager.
a. Click on the Processes tab or click on the Services tab if your application is a service.
b. From the View menu, select Select Columns.
c. Select the PID (Process Identifier) check box and click OK.
d. Click on Image Name to list all the current processes by name.
e. Find the application image name and make a note of its PID.

3. Open an elevated command window (click Start / All Programs / Accessories, then right-click on Command Prompt and select Run as administrator).
4. Change directory to the directory that contains the Restart Manager Test tool.
5. In the command window type:
rmlogotest.exe dwPID
Where dwPID is the application's Process ID, obtained via Task Manager.


NOTES:

1. The application must be idle and must not be running or performing any operations while performing this test case.
2. All applications must listen and respond to shutdown messages using the Restart Manager API quietly, without user interaction while idle in order to pass this test case.
3. The application or service must not cause an Access Violation and it must shutdown/restart safely.
4. Some applications require that a parameter be passed when the application is launched. If the application being testing requires that such a parameter be passed, then the application will need to be launched manually prior to starting this automated test.
5. Restart Manager shutdown messages are:

WM_QUERYENDSESSION with LPARAM = ENDSESSION_CLOSEAPP(0x1)
GUI applications must respond (TRUE) immediately to prepare for a restart.

WM_ENDSESSION with LPARAM = ENDSESSION_CLOSEAPP(0x1)
The application must shutdown within 5 seconds (20 seconds for services).

CTRL_SHUTDOWN_EVENT
Console applications must shutdown immediately.

---------------

My software has a short cut of the uninstallation in program menu.

When the uninstaller is executed first, it displays message box.
And it starts uninstallation when I choose Yes.
What should the uninstaller of the software that I made in NSIS have done to pass an above test?


does this really apply to the installer/uninstaller? IIRC you must use .MSI to even apply to these programs. Anyway, you could probably register for the restart thing if you know the name of the api and call it with the system plugin. NSIS also tries to prevent a shutdown, look on the nsis wiki for a solution for that