Udostępnij za pośrednictwem


Akcja MigrateFeatureStates

Akcja MigrateFeatureStates jest używana podczas uaktualniania i instalowania nowej aplikacji za pośrednictwem powiązanej aplikacji. MigrateFeatureStates odczytuje stany funkcji w istniejącej aplikacji, a następnie ustawia te stany funkcji w oczekującej instalacji. Metoda jest przydatna tylko wtedy, gdy nowe drzewo funkcji nie uległo znacznej zmianie od oryginalnego.

Akcja MigrateFeatureStates jest uruchamiana tylko przy pierwszym zainstalowaniu produktu. Akcja MigrateFeatureStates nie jest uruchamiana podczas trybu konserwacji ani odinstalowywania.

Akcja MigrateFeatureStates jest uruchamiana przez każdy rekord tabeli Uaktualnienia w sekwencji i porównuje kod uaktualnienia, wersję produktu i język w każdym wierszu do wszystkich produktów zainstalowanych w systemie. Jeśli akcja MigrateFeatureStates wykryje korespondencję, a jeśli flaga bitowa msidbUpgradeAttributesMigrateFeatures zostanie ustawiona w kolumnie Atrybuty tabeli Uaktualnianie, instalator wysyła zapytanie do istniejących stanów funkcji produktu i ustawia te stany dla tych samych funkcji w nowej aplikacji. Akcja migruje stany funkcji tylko wtedy, gdy właściwość wstępnie wybrana nie jest ustawiona.

Ograniczenia sekwencji

Akcja MigrateFeatureStates powinna pojawić się natychmiast po akcji CostFinalize. Właściwości MigrateFeatureStates muszą być sekwencjonowane zarówno w tabeli InstallUISequence, jak i tabeli InstallExecuteSequence . Instalator uniemożliwia uruchamianie elementu MigrateFeatureStates w elem. InstallExecuteSequence, jeśli akcja została już uruchomiona w obszarze InstallUISequence.

Komunikaty ActionData

Funkcja MigrateFeatureSettings wysyła komunikat danych akcji dla każdego produktu.

Uwagi

Jeśli więcej niż jeden zainstalowany produkt współudzieli funkcję, stan instalacji tej funkcji może się różnić między produktami. Akcja MigrateFeatureState używa następującej kolejności pierwszeństwa podczas migrowania stanów instalacji funkcji: uruchamianie lokalnego, uruchamianie ze źródła, anonsowanie i odinstalowywanie. Na przykład zainstalowany produkt A może mieć funkcję Y jako INSTALLSTATE_LOCAL i zainstalowany produkt B może mieć funkcję Y jako INSTALLSTATE_ABSENT. Jeśli uaktualnienie instaluje produkt C i migruje stan instalacji funkcji Y, MigrateFeatureState ustawia stan instalacji funkcji Y w produkcie C na INSTALLSTATE_LOCAL.

Aby uzyskać więcej informacji na temat korzystania z akcji MigrateFeatureStates na potrzeby uaktualnień produktów, zobacz Przygotowywanie aplikacji do przyszłych głównych uaktualnień.