> For the complete documentation index, see [llms.txt](https://unigui-doc.falconsistemas.com.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://unigui-doc.falconsistemas.com.br/guia-do-desenvolvedor/unigui-hyperserver/instalando-e-configurando-o-hyperserver/hyperserver-isapi-module-mode.md).

# HyperServer ISAPI Module Mode

O Módulo ISAPI é um dos métodos de implantação preferidos para servidores de produção. A configuração do HyperServer nesse modo é muito semelhante ao modo Standalone Server. Além dessas etapas, você precisa configurar o IIS e criar um Application Pool e uma Application Folder. Configurar o IIS para o HyperServer é semelhante às etapas descritas em Módulo ISAPI, mas há algumas diferenças.

A conta integrada padrão IUSR não concede privilégios suficientes para aplicações HyperServer, portanto você precisa alterá‑la para LocalSystem ou outra conta com privilégios extensivos (como LocalService ou uma conta personalizada com privilégios administrativos). Se você estiver configurando um Pool existente e quiser convertê‑lo para HyperServer, é necessário alterar a conta do Windows usada por esse ISAPI Pool. Se estiver criando um novo Pool, certifique‑se de definir sua Identity como LocalSystem ao criá‑lo.

![clip0180](/files/ca3c626e8daafcc2c4a3f197be2d23b5de7169ef)

{% hint style="info" %}
Importante: Modifique as configurações de Authentication da aplicação web. Esta etapa é especialmente importante se você escolheu named pipes como o tipo de transporte.
{% endhint %}

![clip0109](/files/3829677f626139306199e9484ccd9a1a6bb32e69)

Tornar a identidade do Application pool a opção ativa:

![clip0110](/files/7bfc8ad9ef3401b93cc4968981c273d42cb88fc9)

Após alterar as identidades do pool, você deve verificar se seus Nodes estão sendo executados sob a conta de usuário correta. Isso pode ser feito abrindo o Windows Task Manager. Depois de executar sua aplicação web, localize os processos executáveis dos seus Nodes e verifique o nome de usuário para confirmar que estão sendo executados sob a conta pretendida. Na imagem abaixo todos os Nodes estão sendo executados sob a conta SYSTEM, o que mostra que a aplicação HyperServer ISAPI foi configurada corretamente.

![clip0220](/files/43cf6f02e7761fc6020db5c4773ea503f1823bad)

Se seu SO for 64 bits e você planeja usar binários HyperServer de 32 bits, certifique‑se de que seu pool suporte DLLs de 32 bits:

![clip0146](/files/a266cfa4340addaec8359a5143841e43133f33ef)

Após configurar o pool, você pode continuar com a configuração do HyperServer. Copie o arquivo `hyper_server.dll` para sua pasta de aplicação. Este arquivo pode ser encontrado em `..\uniGUI\HyperServer\bin\`.

<figure><img src="/files/7c32ccea88259c4d660e4e1449ac46a273f4261f" alt=""><figcaption></figcaption></figure>

Agora você precisa renomear `hyper_server.dll` para qualquer nome desejado — preferencialmente o mesmo nome do seu módulo existente. De fato `hyper_server.dll` substituirá sua DLL de aplicação e sua própria aplicação deverá ser recompilada em modo Standalone Server.

Considere o seguinte exemplo para converter um módulo uniGUI ISAPI existente chamado `myapp.dll` para uma aplicação HyperServer.

{% stepper %}
{% step %}

### Configure o application pool

Defina a identity do application pool para `LocalSystem` e habilite aplicações de 32 bits se necessário. Você também pode criar um novo pool se não quiser alterar seu pool existente.
{% endstep %}

{% step %}

### Copie arquivos do HyperServer e faça backup da DLL existente

Copie `hyper_server.dll` e `hyper_server.cfg` arquivos para a pasta onde sua DLL existente reside. Faça backup da sua `myapp.dll` existente para outra pasta ou renomeie‑a para `myapp.dll.old`.
{% endstep %}

{% step %}

### Renomeie arquivos do HyperServer

Renomeie `hyper_server.dll` para `myapp.dll` e `hyper_server.cfg` para `myapp.cfg`.
{% endstep %}

{% step %}

### Edite a configuração

Edite `myapp.cfg` e defina:

```
binary_name=myapp.exe
```

{% endstep %}

{% step %}

### Converta sua aplicação para Standalone Server

Abra sua aplicação no Delphi e edite seu arquivo .dpr para que sua aplicação seja compilada em um arquivo EXE em vez de uma DLL. Construa `myapp.exe`.
{% endstep %}

{% step %}

### Implante o EXE

Copie `myapp.exe` na mesma pasta que `myapp.dll`.
{% endstep %}

{% step %}

### Verifique

No seu navegador, navegue até sua `myapp.dll` aplicação web. Você deverá conseguir ver o formulário principal da sua aplicação web (ou o formulário de login).
{% endstep %}
{% endstepper %}

No modelo de aplicação HyperServer, suas próprias aplicações são sempre implantadas em modo Standalone Server. O HyperServer em si cuida de outros métodos de implantação, como Windows Service e ISAPI Module. Isso simplifica o desenvolvimento: você cria e testa suas aplicações apenas no formato EXE.

Outra configuração do IIS que pode afetar o HyperServer é o parâmetro Shutdown Time Limit:

![clip0157](/files/2bd703f5ab4cec6e78738218cc758fa5583425d5)

Este parâmetro determina quanto tempo o IIS aguardará para o término da DLL ISAPI. A DLL do HyperServer normalmente termina quando você recicla ou para o application pool, mas a finalização pode demorar mais porque o HyperServer deve encerrar todos os seus Nodes primeiro. O valor padrão é 90 segundos, mas você pode precisar aumentá‑lo para 180 segundos. Altere esse valor somente se os 90 segundos padrão não forem suficientes para sua aplicação em particular (por exemplo, quando há muitos Nodes).
