Bom eu faço desta forma
Pessoal vou explicar aqui como fazer para saber quais OCX´s e DLL´s possuem o programa e depois registrar estas com o inno setup
Primeiro para saber quais dll´s e ocx´s devo incluir em meu instalador e quais tenho de registrar eu faço da seguinte forma, em outro tópico deste forum peguei a seguinte dica:
primeiro crio um instalador normalmente utilizando o Package & Deployment Wizard do Visual Studio
para isto caso não saiba vá em INICIAR / MICROSOFT VISUAL STUDIO 6.0 / MICROSOFT VISUAL STUDIO 6.0 TOOLS / PACKAGE & DEPLOYMENT WIZARD, e siga as instruções
Feito isso vou na pasta Onde foi criado o instalador ( no meu caso o nome é Package) e abro o arquivo setup.lst com o Word ou até com bloco de notas, neste arquivo contem a lista de todas as dll´s que seu programa vai precisar e quais devem ser registradas.
eis um exemplo retirado do setup.lst do instalador que criei:
[Bootstrap Files]
File1=@VB6STKIT.DLL,$(WinSysPathSysFile),,,7/15/00 12:00:00 AM,101888,6.0.84.50
File2=@COMCAT.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,5/31/98 12:00:00 AM,22288,4.71.1460.1
File3=@STDOLE2.TLB,$(WinSysPathSysFile),$(TLBRegister),,6/3/99 12:00:00 AM,17920,2.40.4275.1
File4=@ASYCFILT.DLL,$(WinSysPathSysFile),,,3/8/99 12:00:00 AM,147728,2.40.4275.1
File5=@OLEPRO32.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,3/8/99 12:00:00 AM,164112,5.0.4275.1
File6=@OLEAUT32.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,4/12/00 12:00:00 AM,598288,2.40.4275.1
File7=@msvbvm60.dll,$(WinSysPathSysFile),$(DLLSelfRegister),,2/23/04 12:00:00 AM,1386496,6.0.97.82
imprima o conteudo para depois você poder fazer as alterações no seu instalador Inno Setup
Agora você inicializa seu instaldor Inno Setup , e ao chegar na parte chamada Application Files clique no botão Add File(s)... vá até a pasta onde você criou o instalador usando o PDW e abra a pasta Support, nela estão todas as DLL´s e OCX´s necessárias para seu programa, selecione selecione-as e clique em abrir, ai basta você continuar a criar seu instalador até o final, ao terminar ele vai perguntar se você deseja compilar o programa e você vai selecionar não.
A seguir ira aparecer uma lista com os arquivos que foram selecionados, abaixo coloquei apenas quatro linhas para simplificar a explicação:
Source: "C:\Ultimo Instalador\testeinstalador\Support\ST6UNST.EXE"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Ultimo Instalador\testeinstalador\Support\STDOLE2.TLB"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Ultimo Instalador\testeinstalador\Support\TABCTL32.OCX"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Ultimo Instalador\testeinstalador\Support\OLEPRO32.DLL"; DestDir: "{app}"; Flags: ignoreversion
bom agora vem a parte mais divertida, que é digitar veja as alterações que devem ser feitas nestas linhas
voltando lá em cima onde eu imprimi as linhas do aqruivo setup.lst, onde estiver escrito DLLSelfRegister é proque esta dll deve ser registrada.
então você vai alterar a seguinte linha de:
Source: "C:\Ultimo Instalador\testeinstalador\Support\OLEPRO32.DLL"; DestDir: "{app}"; Flags: ignoreversion
para: 'trate as linhas como uma só
Source: "C:\Ultimo Instalador\testeinstalador\Support\OLEPRO32.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace uninsneveruninstall sharedfile regserver
e assim para todas as dll´s que possuem DLLSelfRegister
Agora para os arquivos com extensão .TLB deve ser feito da seguinte forma
de:
Source: "C:\Ultimo Instalador\testeinstalador\Support\STDOLE2.TLB"; DestDir: "{app}"; Flags: ignoreversion
para:
Source: "C:\Ultimo Instalador\testeinstalador\Support\STDOLE2.TLB"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace uninsneveruninstall sharedfile regtypelib
e pronto suas dll´s serão registradas ao se instalar seu programa
Apenas algumas Observações no PDW onde estãomarcadas como {WinSysPathSysFile} no Inno setup deve estar como DestDir: "{sys}" .
agora para ocx este deve ser o código
Source: "C:\Ultimo Instalador\testeinstalador\Support\TABCTL32.OCX"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver
e assim por diante
Espero que eu tenha esclarecido suas duvidas, pois se vocês seguirem estes passos, o problema quanto a instaladores, acabará, lembrando que estou ensinando a localizar as dll´s e Ocx´s e registrar estas, e não como utilizar o inno setup