Jairo
Posts: 15
Joined: Fri Jan 25, 2008 2:05 am

Auto register file (DLL, OCX, etc) error

Dear Sir,

we are evaluating AI 6.1 and we found a mistake in the function Auto Register file.

Some of our DLL and OCX files are registering incorrect since the InProcServer32 registry property are point to the original place instead of the installed place.
Looking at the registrys key in AI package it's look like some DLL/OCX files have absolute path instead of relative path. Some point to [#filename.dll] and are correctly resolved, but some are not.

Could you explaint to me what's going wrong? any workaround or solution?

Regards,

Jairo Marques
Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact: Website

Hi Jairo,

Thank you for your interest in Advanced Installer.

Can you please give me an example of incorrect paths? What path didn't get resolved properly and to what it should have been resolved?

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
Jairo
Posts: 15
Joined: Fri Jan 25, 2008 2:05 am

Cosmin,

look at this fragment in my .aip project:

<ROW Registry="__9105" Root="0" Key="CLSID\{03CE5A5A-A29C-4B83-BC05-92CDB6D32E12}\InprocServer32" Value="C:\Dados\Projetos\Glt2008\INSTAL~1\SHARED~1\CODEJO~4.OCX" Component_="Codejock.Controls.Unicode.v11.2.0.ocx"/>
<ROW Registry="__9110" Root="0" Key="CLSID\{03CE5A5A-A29C-4B83-BC05-92CDB6D32E12}\ToolboxBitmap32" Value="C:\Dados\Projetos\Glt2008\INSTAL~1\SHARED~1\CODEJO~4.OCX, 16" Component_="Codejock.Controls.Unicode.v11.2.0.ocx"/>
<ROW Registry="__9115" Root="0" Key="CLSID\{0BE27955-9D6A-4776-89BC-55FD01C08556}\InprocServer32" Value="C:\Dados\Projetos\Glt2008\INSTAL~1\SHARED~1\CODEJO~4.OCX" Component_="Codejock.Controls.Unicode.v11.2.0.ocx"/>

As a workaround I edited my .aip file and replaced all entries like these above to [#Codejock.Controls.Unicode.v11.2.0.ocx]. I did this to all entries not resolved correctly.

You can test using the NTSVC.OCX file. It causes the same problem as related above. If you don't have it please give me a e-mail to send it to you.

Regards,

Jairo Marques
Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact: Website

Hi,

You are encountering this behavior because Advanced Installer doesn't recognize the short-path created by the registration of the OCX. However, I have added on out TODO list an improvement which will replace the short-path with a file reference.

Thank you for bringing this to our attention.

Until the improvement is implemented in Advanced Installer you can edit the AIP and add the references manually (like you are doing now).

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
Daniela Petrescu
Posts: 30
Joined: Tue Aug 14, 2007 10:03 am

Hi,

This improvement has been added to Advanced Installer 6.2.

You can read more about latest features added to Advanced Installer 6.2 on http://www.advancedinstaller.com/release-6.2.html.

Regards,
Daniela
_________________
Daniela Petrescu
Advanced Installer Team
http://www.advancedinstaller.com
Jairo
Posts: 15
Joined: Fri Jan 25, 2008 2:05 am

Auto register file (DLL, OCX, etc) error

Hi Daniela,

I still have some problems with Auto Register File feature.

1. In some entries I still having absolute paths like below (extracted from .aip file):
<ROW Registry="__1000" Root="0" Key="TypeLib\{000204EF-0000-0000-C000-000000000046}\6.0\HELPDIR" Value="C:\WINDOWS\system32" Component_="Gap32.ocx"/>
<ROW Registry="__1005" Root="0" Key="TypeLib\{C1AFCACB-7997-4E78-9C72-7B0609753E3F}\2c.6\HELPDIR" Value="C:\Dados\Projetos\Glt2008\Installer\Shared Files" Component_="Gap32.ocx"/>
<ROW Registry="__1007" Root="0" Key="TypeLib\{EA544A21-C82D-11D1-A3E4-00A0C90AEA82}\6.0\9\win32" Value="C:\WINDOWS\system32\MSVBVM60.DLL\3" Component_="Gap32.ocx"/>

2. When I uncheck the Auto Register File check box for some .exe or .dll the HKCR\CLSID and subkeys are not deleted;

3. I can't use Auto Register File for some ActiveX EXE files.

Regards,

Jairo Marques
Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact: Website

Hi,
1. In some entries I still having absolute paths
Can you please send us the file which shows this behavior to support at advancedinstaller dot com so we can investigate it?
2. When I uncheck the Auto Register File check box for some .exe or .dll the HKCR\CLSID and subkeys are not deleted
Are these keys used only by one file? Note that if these keys are used by multiple files, they will be removed only when you delete all the files that use them.
3. I can't use Auto Register File for some ActiveX EXE files
In order to register an ActiveX EXE you can use an Installed custom action. This custom action can be scheduled under the "Install" standard action and you can set these properties for it:

- Command Line: /RegServer
- Execution Properties: "Synchronous Execution, ignore return code"
- Execution Options: "Deferred"
- Execution Condition: (Not Installed)

http://www.advancedinstaller.com/user-g ... -page.html

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
Jairo
Posts: 15
Joined: Fri Jan 25, 2008 2:05 am

Hi,

1. I sent two files: gap32.ocx and gap2000.dll;

2. I selected some files, check the Auto Register File check box and after I selected the same files and uncheck Auto Register File check box. CLSID are not deleted at all;

3. I'll try it.
Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact: Website

Hi Jairo,

We have investigated the files you sent and I'm afraid that Advanced Installer cannot replace the hard-coded paths in the AIP. This is because these paths reference external files (from the "system32" folder for example) and not files in your project. The solution in this case is to manually edit the AIP.

Also, regarding the registry keys which remain in under CLSID, this is a bug in Advanced Installer and it will be fixed in the next version. Until then, the workaround is to manually remove the registry keys from the "Registry" page.

Thank you for bringing this to our attention.

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Return to “Common Problems”