Fórum
Ver pergunta

Deploy da extensibilidade com Inno setup   

122 visualizações
0
0

Saudações a todos.

Estive a estudar esse artigo da Primavera: https://developers.ila.cegid.com/?s=deploy&cpt=v10&tax=categorias-v10   que mostra como criar um setup para fazer deploy das DLL usando o inno setup. O problema é que em algum momento precisa-se carrega do regedit pasta SGE100 ou SGP100  dependendo da linha do produto e essas pastas existiam na versão 10.008 e foram descontinuadas na versão 10.010. Alguém está ou estava com o mesmo problema que eu ? Ou alguém sabe na versão 10.010 como carregar a pasta de instalação do ERP pelo regedit?

Faça login para poder traduzir
V10
Geral
Marcado como spam
Criado há 5 anos e 1 mês antniomuteca
a
antniomuteca Iniciante
2 respostas
1
Resposta privada

Segue em anexo uma preview do possível resultado da proposta colocada.

Faça login para poder traduzir
Anexos:
Marcado como spam
Criado há 5 anos e 1 mês ricardosousa
ricardosousa Ricardo Sousa Iniciante
    1
    Resposta privada

    Boa tarde,

    Não sei se ajuda, mas eu fiz um script personalizado para os nossos casos em que uso o seguinte (deixo alguns excertos do código usado mas simplificados apenas para a questão em causa):

    Na secção [Code] crio uma var para uma nova página para permitir seleccionar a pasta de instalação:
    [Code]
    var
        FolderPathsPage: TInputDirWizardPage;

    Depois, logo de seguida, tenho um método para detectar o click do botão para seleccionar a pasta:
    procedure DirBrowseButtonClick();
    var
        Path: String;
    begin
        Path := FolderPathsPage.Values[0];
        if BrowseForFolder(SetupMessage(msgBrowseDialogLabel), Path, True) then
        begin
            FolderPathsPage.Values[index] := Path;
        end;
    end;

    Finalmente no InitializeWizard, no devido local, coloco:
    procedure InitializeWizard;
    begin
        // Pasta

        // o id IDPaginaAnterior tem de ser ajustado conforme o seu cenário, aqui vai apenas como exemplo

        FolderPathsPage := CreateInputDirPage(IDPaginaAnterior, 
        'Seleccionar pasta do Primavera', '',
        '', False, 'Nova Pasta');
        FolderPathsPage.Add('Pasta local do Primavera:');
        FolderPathsPage.Buttons[0].OnClick := @DirBrowseButtonClick; // chama o evento declarado acima

    end;

    Depois é só usar. No meu caso estou a usar no CurStepChanged:

    procedure CurStepChanged(CurStep: TSetupStep);
    var
        // definir todas as outras variáveis e a seguinte a necessária para usar a pasta
        priFolder: String;
    begin
        if CurStep = ssPostInstall then
        begin

            // atribuir as outras variáveis
            priFolder := FolderPathsPage.Values[0];

            // restante código... usar a priFolder onde for necessário
        end;
    end;

    Este método permite adicionar mais que um botão para permitir seleccionar mais pastas, se for necessário (no nosso caso sim).

    Não é um exemplo completo nem nada que se pareça, mas penso já dar para ter uma ideia. Espero ter ajudado alguma coisa.

    Faça login para poder traduzir
    Marcado como spam
    Criado há 5 anos e 1 mês ricardosousa
    ricardosousa Ricardo Sousa Iniciante
      Comentários
      Muito obrigado @ricardosousa . Vou testar o codigo e depois digo alguma coisa
      5 anos e 1 mês
      antniomuteca