Registering DLL does not always work with INNO SETUP

387 views
Skip to first unread message

G Larouche

unread,
Apr 28, 2022, 9:54:05 AM4/28/22
to innosetup
Hi For some unknown reason to us, some of the OCX we ask INNO to register, do NOT get registered.

Any idea will be welcome.

Here is the [Files] section to register OCX files: Source:
"ctalarm.ocx"; DestDir: "{sys}"; Flags: restartreplace sharedfile regserver Source: "ctcalendar.ocx"; DestDir: "{sys}"; Flags: restartreplace sharedfile regserver Source: "ctCheck.ocx"; DestDir: "{sys}"; Flags: restartreplace sharedfile regserver Source: "ctcontact.ocx"; DestDir: "{sys}"; Flags: restartreplace sharedfile regserver Source: "ctdate.ocx"; DestDir: "{sys}"; Flags: restartreplace sharedfile regserver Source: "ctdedit.ocx"; DestDir: "{sys}"; Flags: restartreplace sharedfile regserver Source: "ctdropdate.ocx"; DestDir: "{sys}"; Flags: restartreplace sharedfile regserver Source: "ctlist.ocx"; DestDir: "{sys}"; Flags: restartreplace sharedfile regserver Source: "ctListBar.ocx"; DestDir: "{sys}"; Flags: restartreplace sharedfile regserver Source: "ctmday.ocx"; DestDir: "{sys}"; Flags: restartreplace sharedfile regserver Source: "ctmonth.ocx"; DestDir: "{sys}"; Flags: restartreplace sharedfile regserver Source: "ctText.ocx"; DestDir: "{sys}"; Flags: restartreplace sharedfile regserver Source: "ctTree.ocx"; DestDir: "{sys}"; Flags: restartreplace sharedfile regserver Source: "ctToolBar.ocx"; DestDir: "{sys}"; Flags: restartreplace sharedfile regserver Source: "ctWave.ocx"; DestDir: "{sys}"; Flags: restartreplace sharedfile regserver Source: "ctweek.ocx"; DestDir: "{sys}"; Flags: restartreplace sharedfile regserver Source: "ctyear.ocx"; DestDir: "{sys}"; Flags: restartreplace sharedfile regserver Source: "ctSchedule.ocx"; DestDir: "{sys}"; Flags: restartreplace sharedfile regserve -- ctCheck.ocx ctList.ocx ctListBar.ocx  ctToolbar.ocx NEVER get registered. They get copied into C:\windows\sysWOW64 correctly.

 We do have to register them manually. Thanks

G Larouche

unread,
Apr 28, 2022, 11:52:17 AM4/28/22
to innosetup

Hi

I found the answer to my own issue  ;)

Here it is to the benefit of the group.

 

Each of my OCX file have this syntax in Inno:    Source: "ctcalendar.ocx"; DestDir: "{sys}"; Flags: restartreplace sharedfile regserver

 

The solution: The flag "restartreplace" will register correctly the component when and only when the PC is rebooted.

 

Most of the components above DO register at once when running INNO.

However, if the component is busy or otherwise "not available for update", it will be register after a rebooth is performed on the PC.

It looks like there is an entry saved automatically somewhere to signal to Windows to register any pending - not yet registered - component when rebooting.

 

Voilà!

Reply all
Reply to author
Forward
0 new messages