c++ - Problems with de-registering of COM (advanced installer) -


definition of problem:

hangs sometime during com de-registering , says the setup unable automatically close requested applications. please ensure applications holding files in use closed before continuing installation. extension unloaded , uninstalled.

definition of environment:

i created kind of dummy shell namespace extension tests. implements icontextmenu , methods returns_ok , nothing else , rgs file is

hkcr {     xxx.sergz.dummyshellext.1 = s 'dummynse class'     {         clsid = s '{6c0fbe00-9898-4bb0-806f-3ed7d2f1170d}'     }     xxx.sergz.dummyshellext = s 'dummynse class'     {         curver = s 'xxx.sergz.dummyshellext.1'     }     noremove clsid     {         forceremove {6c0fbe00-9898-4bb0-806f-3ed7d2f1170d} = s 'dummynse class'         {             progid = s 'xxx.sergz.dummyshellext.1'             versionindependentprogid = s 'xxx.sergz.dummyshellext'             forceremove programmable             inprocserver32 = s '%module%'             {                 val threadingmodel = s 'apartment'             }             typelib = s '{3dc947f0-6691-4043-b414-29f749209905}'             version = s '1.0'         }     }     noremove directory     {         noremove background         {             noremove shellex             {                 noremove contextmenuhandlers                 {                    forceremove dummyshellext = s '{6c0fbe00-9898-4bb0-806f-3ed7d2f1170d}'                 }             }         }     } }   hklm {   noremove software   {     noremove microsoft     {       noremove windows       {         noremove currentversion         {           noremove shell extensions           {             noremove approved             {               val '{6c0fbe00-9898-4bb0-806f-3ed7d2f1170d}' = s 'xxx.sergz dummy shell extension.'             }           }         }       }     }   } } 

i choose professional installer , added dll file. on file properties registration tab choose auto register file..., extract registration info... , synchronization enabled. in product information->install parameters->packagetype choose 64-bit package x64....

now build msi , install extension. launch explorer , right click somewhere on folder background. according log extension loaded , dll_process_attach , few times dll_thread_attach.

i launch msi again , choose remove. says have close ... applications using files... , there windows explorer in list. choose automatically close ... , press ok.

all explorer windows closed seems explorer not shutdown.

the status "shutting down applications", according log dll unloaded. problem here. dll unloaded msi still waiting , says the setup unable automatically close requested applications. please ensure applications holding files in use closed before continuing installation. click ok , process continues , dll removed in end.

i use windows 8 64bit.

what reasons of waiting , message applications can not closed. how can figure out?

right, isn't going work, shell extension loaded , msi isn't going kill explorer.exe. nor want to, rather ghastly sight user.

you'll need use alternative way un/register extension. isn't clear "professional installer" might mean. can un/register com server modifying registry rather leaving dll so. in fact recommended way. know registry keys .rgs file. can use heat.exe harvester wix toolset. dll needs removed delay-deleting @ next user login, done adding pendingfilerenameoperations registry key. check installer creator tool proper procedure.


Comments

Popular posts from this blog

monitor web browser programmatically in Android? -

Shrink a YouTube video to responsive width -

wpf - PdfWriter.GetInstance throws System.NullReferenceException -