MigrateFeatureStates művelet
A MigrateFeatureStates művelet a frissítés során és egy új alkalmazás kapcsolódó alkalmazáson keresztüli telepítésekor használatos. A MigrateFeatureStates beolvassa a meglévő alkalmazás szolgáltatásállapotait, majd beállítja ezeket a funkcióállapotokat a függőben lévő telepítésben. A módszer csak akkor hasznos, ha az új funkciófa nem változott jelentősen az eredetitől.
A MigrateFeatureStates művelet csak a termék első telepítésekor fut. A MigrateFeatureStates művelet nem fut karbantartási módban vagy eltávolításkor.
A MigrateFeatureStates művelet a frissítési tábla minden rekordját egymás után futtatja, és összehasonlítja az egyes sorok frissítési kódját, termékverzióját és nyelvét a rendszeren telepített összes termékével. Ha a MigrateFeatureStates művelet levelezést észlel, és ha az msidbUpgradeAttributesMigrateFeatures bitjelző a Frissítés tábla Attribútumok oszlopában van beállítva, a telepítő lekérdezi a termék meglévő funkcióállapotait, és ezeket az állapotokat az új alkalmazás ugyanazon funkcióihoz állítja be. A művelet csak akkor migrálja a szolgáltatásállapotokat, ha a Előre kiválasztott tulajdonság nincs beállítva.
Sorozatkorlátozások
A MigrateFeatureStates műveletnek közvetlenül a CostFinalize műveletután kell érkeznie. A MigrateFeatureStates-t az InstallUISequence tábla és az InstallExecuteSequence táblakell sorrendbe állítani. A telepítő megakadályozza, hogy a MigrateFeatureStates az InstallExecuteSequence-ben fusson, ha a művelet már fut az InstallUISequence-ben.
ActionData-üzenetek
A MigrateFeatureSettings műveletadat-üzenetet küld minden termékhez.
Megjegyzések
Ha egynél több telepített termék osztozik egy szolgáltatáson, a szolgáltatás telepítési állapota eltérhet a termékek között. A MigrateFeatureState művelet a következő sorrendet használja a szolgáltatástelepítési állapotok áttelepítésekor: futtassa a helyit, futtassa a forrásból, hirdeti és távolítsa el. Előfordulhat például, hogy a telepített A termék rendelkezik Y INSTALLSTATE_LOCAL és a telepített B termék Y funkcióval INSTALLSTATE_ABSENT. Ha egy frissítés telepíti a C terméket, és migrálja az Y szolgáltatás telepítési állapotát, a MigrateFeatureState a C termék Y szolgáltatásának telepítési állapotát INSTALLSTATE_LOCAL állítja be.
További információ a MigrateFeatureStates művelet termékfrissítésekhez való használatáról: Alkalmazás előkészítése a jövőbeli fő frissítésekhez.