Return-Path: X-Original-To: apmail-incubator-ooo-dev-archive@minotaur.apache.org Delivered-To: apmail-incubator-ooo-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 565D59DA3 for ; Thu, 28 Jun 2012 12:32:34 +0000 (UTC) Received: (qmail 40121 invoked by uid 500); 28 Jun 2012 12:32:34 -0000 Delivered-To: apmail-incubator-ooo-dev-archive@incubator.apache.org Received: (qmail 39945 invoked by uid 500); 28 Jun 2012 12:32:33 -0000 Mailing-List: contact ooo-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: ooo-dev@incubator.apache.org Delivered-To: mailing list ooo-dev@incubator.apache.org Received: (qmail 39936 invoked by uid 99); 28 Jun 2012 12:32:33 -0000 Received: from minotaur.apache.org (HELO minotaur.apache.org) (140.211.11.9) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 28 Jun 2012 12:32:33 +0000 Received: from localhost (HELO mail-vc0-f175.google.com) (127.0.0.1) (smtp-auth username robweir, mechanism plain) by minotaur.apache.org (qpsmtpd/0.29) with ESMTP; Thu, 28 Jun 2012 12:32:33 +0000 Received: by vcbfl15 with SMTP id fl15so1462289vcb.6 for ; Thu, 28 Jun 2012 05:32:32 -0700 (PDT) MIME-Version: 1.0 Received: by 10.220.108.15 with SMTP id d15mr1357800vcp.37.1340886752357; Thu, 28 Jun 2012 05:32:32 -0700 (PDT) Received: by 10.220.190.13 with HTTP; Thu, 28 Jun 2012 05:32:32 -0700 (PDT) In-Reply-To: References: Date: Thu, 28 Jun 2012 08:32:32 -0400 Message-ID: Subject: Re: Windows 8 Compatibility? From: Rob Weir To: ooo-dev@incubator.apache.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Thu, Jun 28, 2012 at 4:02 AM, Liu Da Li wrote: > For issue 2. >>> =C2=A0- Issue 2. Test for "Section 4 Apps must adhere to system restart >> > =C2=A0 manager messages" is failed. Bugzilla ID 119947 link: >> > > It seems that we handle these system restart manager messages in a right > way. > Anyone can have a double check on this? This would be good to test. A good test case would be to have a new document, or a document with unsaved changes in it. If we get the system restart message, what do we do? Windows guidelines are that we shut down within 30 seconds. So we can't popup a "Do you want to save?" dialog indefinitely. The scenario Microsoft is thinking of is something like this: A user leaves their machine on at work, and then goes on vacation. A big security problem is found in Windows and a virus is spreading all over the world. Microsoft has a fix that they push out to all machines via their update mechanism. But they cannot apply it on this machine because they need to force a reboot. But applications are refusing to shut down cleanly. That's the scenario we should consider. I wonder if this should use the existing document restore mechanism that OpenOffice has to recover from a crash? -Rob > Here is the codes in main\vcl\win\source\window\salframe.cxx. > > ...... > LRESULT CALLBACK SalFrameWndProc( HWND hWnd, UINT nMsg, WPARAM wParam, > LPARAM lParam, int& rDef ) > { > ...... > =C2=A0case WM_QUERYENDSESSION: > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0if( !bInQueryEnd ) > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0{ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0// handle queryendsession only once > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0bInQueryEnd =3D TRUE; > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0nRet =3D !ImplHandleShutDownMsg( hWnd= ); > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0rDef =3D FALSE; > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0// Issue #16314#: ImplHandleShutDownM= sg causes a PostMessage in > case of allowing shutdown. > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0// This posted message was never proc= essed and cause Windows XP to > hang after log off > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0// if there are multiple sessions and= the current session wasn't > the first one started. > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0// So if shutdown is allowed we assum= e that a post message was > done and retrieve all > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0// messages in the message queue and = dispatch them before we > return control to the system. > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if ( nRet ) > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0{ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0MSG =C2= =A0 =C2=A0 msg; > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0while( Pe= ekMessage( &msg, NULL, 0, 0, PM_REMOVE ) ) > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0{ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0DispatchMessage( &msg ); > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0} > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0} > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0} > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0else > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0{ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0ImplSalYieldMutexAcquireWithWait(); > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0ImplSalYieldMutexRelease(); > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0rDef =3D TRUE; > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0} > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0break; > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0case WM_ENDSESSION= : > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0if( !wParam ) > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0bInQueryEnd =3D FALSE; // no shutdown= : allow query again > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0nRet =3D FALSE; > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0rDef =3D FALSE; > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0break; > ...... > > > > > 2012/6/15 Huaidong Qiu > >> About the fonts AOO installed into the system font directory, I did some >> verification on Windwos XP. >> >> 1. AOO archive package packs those font inside the package, you can find >> them here Basis\share\fonts\truetype. >> >> 2. Install AOO, then remove one of the fonts AOO >> installed, Arimo-Bold.ttf, Arimo-BoldItalic.ttf, Arimo-Italic.ttf, >> Arimo-Regular.ttf, >> from the system font directory. Open installed AOO, the font name >> disappears from the font list of AOO. >> >> 3.Copy =C2=A0directory Basis\share\fonts\truetype from archive package t= o the >> install directory. Open installed AOO, the font name come back. >> >> So I think we can pack the needed fonts into =C2=A0the installer package >> as archive package did. Then we can safely remove those fonts from the >> install directory without affect other applications. >> >> Any ideas? >> >> >> On Thu, Jun 14, 2012 at 4:06 PM, Lin Yuan wrote: >> >> > About issue5 that support multiple user sessions, =C2=A0as tested by Y= an Ji >> on a >> > Windows 2008 server. When allow one user to remote log in with multipl= e >> > sessions, AOO 3.4 is not stable and will crash after some operations. >> > >> > To support multiple sessions for one user, I thinkonly =C2=A0rearchite= ct >> single >> > IPC to TS session managment is not enough. If allow multiple AOO >> instances >> > can be run isolated for one user, the data in user directory must be >> > synchronized correctly for those AOO instances as they all share the s= ame >> > user directory. The data may inlucde extensions, .xcu and other >> > configuration files. So I think the simplest way to be able to >> cetifiacted >> > with Windows 8 in this section is do below thing mentioned in >> Certification >> > requirements for Windows 8 >> > >> > "If an app does not support multiple user sessions or remote access, i= t >> > must clearly state this when launched from this kind of session" >> > >> > That is, when AOO launched, check if there is another AOO instance in = a >> > different TS session but for the same user. If does, popup a warning >> dialog >> > and exit. >> > >> > >> > >> > >> > 2012/6/12 Liu Da Li >> > >> > > I have create five items on Bugzilla to track these issue. >> > > >> > > =C2=A0 - Issue 1. Test for "Section 3 Apps support Windows security >> features" >> > > =C2=A0 is failed.Bugzilla ID 119946 link: >> > > [4] >> > > >> > > >> > > =C2=A0 - Issue 2. Test for "Section 4 Apps must adhere to system res= tart >> > > =C2=A0 manager messages" is failed. Bugzilla ID 119947 link: >> > > [5] >> > > >> > > >> > > =C2=A0 - Issue 3. Test for "Section 5 Apps must support a clean, rev= ersible >> > > =C2=A0 installation" is failed. Bugzilla ID 119948 link: >> > > [6] >> > > >> > > >> > > =C2=A0 - Issue 4. Test for "Section 6 Apps must digitally sign files= and >> > > =C2=A0 drivers" is failed.Bugzilla ID 119949 link: >> > > [7] >> > > >> > > >> > > =C2=A0 - Issue 5. Test for "Section 11 Apps must support multi-user >> sessions" >> > > =C2=A0 is not tested by Windows App Certification Kit.Bugzilla ID 11= 9950 >> link: >> > > =C2=A0 [8] >> > > >> > > Anyone please help to check them, confirm them and fix them. >> > > >> > > 2012/6/12 XiuLi Xu >> > > >> > > > Hi All, >> > > > >> > > > I upload the detailed test result and Windows 8 related links in t= he >> > wiki >> > > > document, Windows App Certification Kit Test Results for Apache >> > > OpenOffice >> > > > 3.4< >> > > > >> > > >> > >> http://wiki.services.openoffice.org/wiki/Documentation/Windows_App_Certi= fication_Kit_-_Test_Results_for_Apache_OpenOffice_3.4 >> > > > > >> > > > >> > > > >> > > > On Mon, Jun 11, 2012 at 2:48 PM, Liu Da Li >> wrote: >> > > > >> > > > > There are so many items in the Windows 8 certification list, I t= ry >> to >> > > go >> > > > > through it and find that there is maybe about 43 TODO items for = us >> to >> > > do >> > > > > the certification. Most of the TODO items =C2=A0are just a verif= ication >> > > jobs, >> > > > > but some code change jobs maybe are need to do for the sections >> > > 4.1,5.1, >> > > > > 9.1, 10.2,11.7. >> > > > > I have try to verify some items, the result be marked at green. >> > > > > Herbert1 also go through the list, I put his result at the end o= f >> > each >> > > > > section. >> > > > > >> > > > > Items which maybe need to change some codes >> > > > > ------------------------------------------------ >> > > > > 4.1 Your app must handle critical shutdowns appropriately >> > > > > In a critical shutdown, apps that return FALSE to >> WM_QUERYENDSESSION >> > > will >> > > > > be sent WM_ENDSESSION and closed, while those that time out in >> > response >> > > > to >> > > > > WM_QUERYENDSESSION will be terminated. . >> > > > > 5.1 Your app must properly implement a clean, reversible >> installation >> > > > > If the installation fails, the app should be able to roll it bac= k >> and >> > > > > restore the machine to its previous state. >> > > > > 9.1 Your app must have a manifest that defines execution levels = and >> > > tells >> > > > > the operating system what privileges the app requires in order t= o >> run >> > > > > The app manifest marking only applies to EXEs, not DLLs. This is >> > > because >> > > > > UAC does not inspect DLLs during process creation. It is also wo= rth >> > > > noting >> > > > > that UAC rules do not apply to Windows Services. The manifest ca= n >> be >> > > > either >> > > > > embedded or external. >> > > > > To create a manifest, create a file with the name >> > > .exe.manifest >> > > > > and store it in the same directory as the EXE. Note that any >> external >> > > > > manifest is ignored if the app has an internal manifest. For >> example: >> > > > > =C2=A0> > > > > requireAdministrator"" uiAccess=3D""true|false""/> >> > > > > 10.2 Your app must avoid starting automatically on startup >> > > > > For example, your app should not set any of the following; >> > > > > Registry run keys HKLM and, or HKCU under >> > > > > Software\Microsoft\Windows\CurrentVersion >> > > > > Registry run keys HKLM, and or HKCU under >> > > > > Software\Wow6432Node\Microsoft\windows\CurrentVersion >> > > > > Start Menu AllPrograms > STARTUP >> > > > > 11.7 Your app must check other terminal service (TS) sessions fo= r >> > > > existing >> > > > > instances of the app >> > > > > Note: If an app does not support multiple user sessions or remot= e >> > > access, >> > > > > it must clearly state this when launched from this kind of sessi= on. >> > > > > >> > > > > >> > > > >> > > >> > >> ------------------------------------------------------------------------= ------------------ >> > > > > Full TODO items. >> > > > > >> > > > > 1. Apps are compatible and resilient >> > > > > 1.1 Your app must not take a dependency on Windows compatibility >> > modes, >> > > > > AppHelp message, and or any other compatibility fixes >> > > > > TODO 1.1 : Need verification , don't depend. >> > > > > 1.2 Your app must not take a dependency on the VB6 runtime >> > > > > TODO 1.2 : Need verification , don't depend. >> > > > > 1.3 Your app must not load arbitrary DLLs to intercept Win32 API >> > calls >> > > > > using HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows >> > > > > AppInit_dlls. >> > > > > TODO 1.3 : Need verification , don't load. >> > > > > Herbert1: Win8 Cert Section 1 : ok >> > > > > >> > > > > 2. Apps must adhere to Windows Security Best Practices >> > > > > 2.1 Your app must use strong and appropriate ACLs to secure >> > executable >> > > > > files >> > > > > TODO 2.1 : Need verification >> > > > > 2.2 Your app must use strong and appropriate ACLs to secure >> > directories >> > > > > TODO 2.2 : Need verification >> > > > > 2.3 Your app must use strong and appropriate ACLs to secure >> registry >> > > keys >> > > > > TODO 2.3 : Need verification >> > > > > 2.4 Your app must use strong and appropriate ACLs to secure >> > directories >> > > > > that contain objects >> > > > > TODO 2.4 : Need verification >> > > > > 2.5 Your app must reduce non-administrator access to services th= at >> > are >> > > > > vulnerable to tampering >> > > > > TODO 2.5 : Need verification >> > > > > 2.6 Your app must prevent services with fast restarts from >> restarting >> > > > more >> > > > > than twice every 24 hours >> > > > > TODO 2.6 : Need verification >> > > > > Herbert1: Win8 Cert Section 2 : if the MSI based installer does = it >> it >> > > is >> > > > > fine,we are using nsis-2.46 for building the MSI package but >> Windows >> > > > itself >> > > > > does the installation of the MSI packages >> > > > > >> > > > > 3. Apps support Windows security features >> > > > > 3.1 Your app must not use AllowPartiallyTrustedCallersAttribute >> > (APTCA) >> > > > to >> > > > > ensure secure access to strong-named assemblies >> > > > > TODO 3.1 : Need verification, >> > > > > 3.2 Your app must be compiled using the /SafeSEH flag to ensure >> safe >> > > > > exceptions handling >> > > > > TODO 3.2 : Need verification, we use it >> > > > > 3.3 Your app must be compiled using the /NXCOMPAT flag to preven= t >> > data >> > > > > execution >> > > > > TODO 3.3 : Need verification, we use it >> > > > > 3.4 Your app must be compiled using the /DYNAMICBASE flag for >> address >> > > > space >> > > > > layout randomization (ASLR) >> > > > > TODO 3.4 : Need verification, we use it >> > > > > 3.5 Your app must not Read/Write Shared PE Sections >> > > > > TODO 3.5 : Need verification, >> > > > > Herbert1: Win8 Cert Section 3 : we are running with SafeSEH, >> > NXCOMPAT, >> > > > > DYNAMICBASE, but the libraries we ship have to be modified to us= e >> > these >> > > > > flags too,I'm almost certain that we don't use APTCA,I'm not so >> sure >> > > > about >> > > > > the RW PW Sections, but I guess we do not have any. >> > > > > >> > > > > 4. Apps must adhere to system restart manager messages >> > > > > 4.1 Your app must handle critical shutdowns appropriately >> > > > > TODO 4.1 : Need verification, >> > > > > 4.2 A GUI app must return TRUE immediately in preparation for a >> > restart >> > > > > TODO 4.2 : Need verification, we do >> > > > > 4.3 Your app must return 0 within 30 seconds and shut down >> > > > > TODO 4.3 : Need verification,we do >> > > > > Herbert1: Win8 Cert Section 4 : WM_QUERYENDSESSION needs to be >> > > > > implemented,these new messages are currently ignored >> > > > > >> > > > > 5. Apps must support a clean, reversible installation >> > > > > 5.1 Your app must properly implement a clean, reversible >> installation >> > > > > TODO 5.1 : Need verification, >> > > > > 5.2 Your app must never force the user to restart the computer >> > > > immediately >> > > > > TODO 5.2 : Need verification,we never >> > > > > 5.3 Your app must never be dependent on 8.3 short file names (SF= N) >> > > > > TODO 5.3 : Need verification,we never >> > > > > 5.4 Your app must never block silent install/uninstall >> > > > > TODO 5.4 : Need verification, >> > > > > 5.5 Your app installer must create the correct registry entries = to >> > > allow >> > > > > successful detection and uninstalls >> > > > > TODO 5.5 : Need verification, >> > > > > Herbert1: Win8 Cert Section 5: making sure that the registry >> entries >> > > and >> > > > > files are restored is difficult >> > > > > >> > > > > 6. Apps must digitally sign files and drivers >> > > > > 6.1 All executable files (.exe, .dll, .ocx, .sys, .cpl, .drv, .s= cr) >> > > must >> > > > be >> > > > > signed with an Authenticode certificate >> > > > > TODO 6.1:Need to do digitally sign >> > > > > Herbert1: Win8 Cert Section 6: Having authentication credentials >> > would >> > > be >> > > > > good even if don't pursue Win8 shop certification >> > > > > >> > > > > 7. Apps don=E2=80=99t block installation or app launch based on = an >> operating >> > > > system >> > > > > version check >> > > > > 7.1 Your app must not perform version checks for equality >> > > > > TODO 7.1 : Need verification, >> > > > > Herbert1: Win8 Cert Section 7: We are doing win-version checks, = but >> > I'm >> > > > > almost certain that it is not a check for equality. Needs to be >> > checked >> > > > > though. >> > > > > >> > > > > 8. Apps don=E2=80=99t load services or drivers in safe mode >> > > > > TODO 8 : Need verification, we don't >> > > > > >> > > > > 9. Apps must follow User Account Control guidelines >> > > > > 9.1 Your app must have a manifest that defines execution levels = and >> > > tells >> > > > > the operating system what privileges the app requires in order t= o >> run >> > > > > TODO 9.1 : Need verification, >> > > > > 9.2 Your app=E2=80=99s main process must be run as a standard us= er >> > (asInvoker). >> > > > > TODO 9.2 : Need verification, >> > > > > >> > > > > 10. Apps must install to the correct folders by default >> > > > > 10.1 Your app must be installed in the Program Files folder by >> > default >> > > > > TODO 10.1: Need verification,we do >> > > > > 10.2 Your app must avoid starting automatically on startup >> > > > > TODO 10.2: Need verification, the quick start is a issue >> > > > > 10.3 Your app data, which must be shared among users on the >> computer, >> > > > > should be stored within ProgramData >> > > > > TODO 10.3: Need verification,we do >> > > > > 10.4 Your app=E2=80=99s data that is exclusive to a specific use= r and that >> is >> > > not >> > > > > to be shared with other users of the computer, must be stored in >> > > > > Users\\AppData >> > > > > TODO 10.4: Need verification,we do >> > > > > 10.5 Your app must never write directly to the "Windows" directo= ry >> > and >> > > or >> > > > > subdirectories >> > > > > TODO 10.5: Need verification,we never >> > > > > 10.6 Your app must write user data at first run and not during t= he >> > > > > installation in =E2=80=9Cper-machine=E2=80=9D installations >> > > > > TODO 10.6: Need verification,we do >> > > > > >> > > > > 11. Apps must support multi-user sessions >> > > > > 11.1 Your app must ensure that when running in multiple sessions >> > either >> > > > > locally or remotely, the normal functionality of the app is not >> > > adversely >> > > > > affected >> > > > > TODO 11.1: Need verification, >> > > > > 11.2 Your app=E2=80=99s settings and data files must not persist= across >> users >> > > > > TODO 11.2: Need verification, >> > > > > 11.3 A user=E2=80=99s privacy and preferences must be isolated t= o the >> user=E2=80=99s >> > > > > session >> > > > > TODO 11.3: Need verification, >> > > > > 11.4 Your app=E2=80=99s instances must be isolated from each oth= er >> > > > > TODO 11.4: Need verification, >> > > > > 11.5 Apps that are installed for multiple users must store data = in >> > the >> > > > > correct folder(s) and registry locations >> > > > > Refer to the UAC requirements. >> > > > > TODO 11.5: Need verification, >> > > > > 11.6 User apps must be able to run in multiple user sessions (Fa= st >> > User >> > > > > Switching) for both local and remote access >> > > > > TODO 11.6: Need verification, >> > > > > 11.7 Your app must check other terminal service (TS) sessions fo= r >> > > > existing >> > > > > instances of the app >> > > > > TODO 11.7: Need verification, >> > > > > Herbert1: Win8 Cert Section 11.7: we need to rearchitect our IPC= to >> > TS >> > > > > session management >> > > > > >> > > > > 12. Apps must support x64 versions of Windows >> > > > > 12.1 Your app must natively support 64-bit or, at a minimum, 32-= bit >> > > > > Windows-based apps must run seamlessly on 64-bit systems to >> maintain >> > > > > compatibility with 64-bit versions of Windows >> > > > > TODO 12.1: Need verification, AOO can be run on 64-bit system >> > > > > 12.2 Your app and its installers must not contain any 16-bit cod= e >> or >> > > rely >> > > > > on any 16-bit component >> > > > > TODO 12.2: Need verification, =C2=A0AOO not contain 16-bit code >> > > > > 12.3 Your app=E2=80=99s setup must detect and install the proper= drivers >> and >> > > > > components for the 64-bit architecture >> > > > > TODO 12.3: Need verification, >> > > > > >> > > > > >> > > > > >> > > > > 2012/6/7 Rob Weir >> > > > > >> > > > > > I installed the Windows 8 Tech Preview (32-bit) today on a >> virtual >> > > > > > server. =C2=A0After a few minutes to figure out the new platfo= rm UI I >> > > > > > installed AOO 3.4. =C2=A0Install went without problems and it = appears >> to >> > > > > > run fine. >> > > > > > >> > > > > > Of course, there is more that we could do to be a well-integra= ted >> > > > > > Windows desktop application. =C2=A0The best practices are outl= ined >> here: >> > > > > > http://msdn.microsoft.com/library/windows/desktop/hh749939 >> > > > > > >> > > > > > A lot of this is goodness that would help users on Windows 7 a= nd >> > > > > > earlier versions as well. =C2=A0For example, the code signing = reduces >> > the >> > > > > > risk of tampering or corrupt files. =C2=A0It also reduces fals= e >> > complaints >> > > > > > by some anti-virus products. =C2=A0The recommended compiler op= tions >> help >> > > > > > reduce the explotability of security vulnerabilities, especial= ly >> of >> > > > > > the kind products run into reading binary file formats. =C2=A0= More >> info >> > on >> > > > > > these options are here: >> > > > > > >> > > > > > >> > > > > > >> > > > > >> > > > >> > > >> > >> http://blogs.msdn.com/b/vcblog/archive/2009/05/21/dynamicbase-and-nxcomp= at.aspx >> > > > > > >> > > > > > Did OpenOffice.org ever try for logo certification from Micros= oft >> > > > > > before? =C2=A0If so, what was the experience? >> > > > > > >> > > > > > I think it might be worth trying for this with AOO, =C2=A0It w= ould >> takes >> > > > > > some work, but in the end we would have better platform >> > integration, >> > > > > > and a better user and admin experience. >> > > > > > >> > > > > > -Rob >> > > > > > >> > > > > >> > > > >> > > >> > >>