sexta-feira, 29 de abril de 2016

Trocar a Url de update do ClickOnce *

Você publica seu programa para ser baixado em uma certa URL. E está tudo certo, faz outros deploys, os clientes baixam felizes. Então você resolve mudar a pasta que está usando para fazer o update, por quaisquer motivos. E o ClickOnce dá erro no update, porque baixou de urls diferentes, e recomenda que você desinstale o programa original, baixe o novo e instale de novo.

Existem diversos passo-a-passo na web de como fazer isso, incluindo mageui, alterações direto na configuração do projeto do programa, etc. A ideia é fazer um deploy intermediário, que estaria na pasta antiga, mas apontaria o update para a nova pasta. Não funciona, o clickonce ainda reclama da nova url.

O que funcionou de verdade foi colocar um url rewrite no web.config da pasta de publish original. Quando o programa bate nessa pasta, ela passa a devolver o conteúdo da outra pasta. Na outra pasta, o programa será baixado com a nova url de update. Este seria o código a adicionar no web.config da pasta antiga, dentro de <system.webServer>:

        <rewrite>

            <rules>
                <clear />
                <rule name="Redirect New Path" stopProcessing="true">
              
                    <match url="^(.*)$" />
                    <action type="Rewrite" url="/[aqui você coloca a nova pasta]/{R:1}" redirectType="Temporary" appendQueryString="true" />
               
                </rule>
            </rules>

        </rewrite>




* ClickOnce é uma ferramenta do Visual Studio para fazer deploys / updates nos programas que você cria lá

Nenhum comentário:

Postar um comentário