После установки апдейта для студии не могу зарегистрировать COM на компе где есть старый (до апдейта) редистрибушин. Для ехе проблема решается просто - использую манифест для старого CRT. Работает. А вот с COM номер не проходит. Как исправть это?
Спасибо.
ATL COM не работает после установки SP Visual Studio 2005
Правила форума
Пожалуйста, ознакомьтесь с правилами данного форума
Пожалуйста, ознакомьтесь с правилами данного форума
-
- Маньяк
- Сообщения: 2803
- Зарегистрирован: 29 май 2003, 22:29
- Откуда: Магадан - Миссиссага
-
- Маньяк
- Сообщения: 2803
- Зарегистрирован: 29 май 2003, 22:29
- Откуда: Магадан - Миссиссага
Re: ATL COM не работает после установки SP Visual Studio 2005
I'v found a solution:
- run regsvr32 with a regsvr32.exe.manifest (which should have the same entries as the related manifest files for the application)
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC80.CRT' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC80.ATL' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
</assembly>
Better (but not simpler) solutions are described at:
http://social.msdn.microsoft.com/forums ... 2dd157477/
I have not tried them.
Another trick was - for x64 platform, one should use the regsvr32.exe version from the C:/Windows/SysWOW64/ folder (not from C:/Windows/), if the COM dll was created as a x32 dll.
Thanks.
- run regsvr32 with a regsvr32.exe.manifest (which should have the same entries as the related manifest files for the application)
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC80.CRT' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC80.ATL' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
</assembly>
Better (but not simpler) solutions are described at:
http://social.msdn.microsoft.com/forums ... 2dd157477/
I have not tried them.
Another trick was - for x64 platform, one should use the regsvr32.exe version from the C:/Windows/SysWOW64/ folder (not from C:/Windows/), if the COM dll was created as a x32 dll.
Thanks.