Share via


Application.UpdatePackage Propriedade

Definição

Obtém ou define um Boolean que indica se os pacotes podem ser atualizados quando uma versão atualizada é encontrada.

public:
 property bool UpdatePackage { bool get(); void set(bool value); };
public bool UpdatePackage { get; set; }
member this.UpdatePackage : bool with get, set
Public Property UpdatePackage As Boolean

Valor da propriedade

true se os pacotes puderem ser atualizados quando uma versão atualizada for encontrada; caso contrário, false. O valor padrão é false.

Exemplos

O exemplo de código a seguir mostra como habilitar e desabilitar atualizações. Ele define o UpdatePackage valor para true, imprime o valor, redefine o valor da propriedade falsee imprime o valor novamente.

class ApplicationTests  
    {  
        static void Main(string[] args)  
        {  
            Application app = new Application();  

            Boolean updatePkg = true;  
            app.UpdatePackage = updatePkg;  
            Console.WriteLine(app.UpdatePackage);  

            updatePkg = false;  
            app.UpdatePackage = updatePkg;  
            Console.WriteLine(app.UpdatePackage);  
        }  
    }  
Class ApplicationTests  
        Shared  Sub Main(ByVal args() As String)  
            Dim app As Application = New Application()   

            Dim updatePkg As Boolean = True   
            app.UpdatePackage = updatePkg  
            Console.WriteLine(app.UpdatePackage)  

            updatePkg = False  
            app.UpdatePackage = updatePkg  
            Console.WriteLine(app.UpdatePackage)  
        End Sub  
End Class  

Saída de exemplo:

True

False

Comentários

Se objetos extensíveis, como tarefas, Foreach enumeradores, provedores de log e gerenciadores de conexões forem atualizados, os pacotes mais antigos poderão ser atualizados em tempo de carga. Para que isso ocorra, as duas propriedades a true seguir devem ser definidas no objeto do aplicativo antes de carregar: UpdatePackagee UpdateObjects.

Cada objeto extensível também deve implementar sua CanUpdate propriedade.

O runtime tenta carregar o pacote antigo e, se encontrar um objeto mais antigo, tenta uma atualização. O runtime enumera primeiro todos os objetos extensíveis que ele contém, excluindo o Pipeline, que é tratado separadamente e localmente. Para cada objeto, o runtime então chama CanUpdate os novos objetos, passando a ID do objeto antigo. Se o novo objeto puder atualizar o antigo, o objeto antigo será passado para o novo usando seu Update método e seu XML será alterado no local. Por padrão, todos os objetos extensíveis são implementados CanUpdate para retornar false; portanto, o XML que é passado não é atualizado.

Aplica-se a