Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Aby bylo možné povolit funkčnost instalačního programu, musí aplikace při inicializaci volat řadu funkcí. Další informace naleznete k mechanismu instalace . Následující kroky popisují, jak pomocí instalačního programu inicializovat aplikaci:
Inicializovat aplikaci
Zavolejte funkci MsiGetProductCode, aby se aplikace identifikovala instalačnímu programu.
Kód produktu je povinný parametr pro mnoho funkcí instalačního programu.
Voláním funkce MsiGetUserInfo shromážděte informace o uživateli při prvním spuštění aplikace.
Pokud volání MsiGetUserInfo selže, zavolejte funkci MsiCollectUserInfo shromažďovat informace o uživateli.
V případě potřeby zobrazte výchozí uživatelské rozhraní voláním funkce MsiSetInternalUI.
Pokud chcete vytvořit vlastní uživatelské rozhraní, zaregistrujte ho v instalačním programu voláním MsiSetExternalUI funkce.
Zavoláte funkci MsiEnableLog, která nastaví úroveň protokolování.
Prezentujte uživatele s dostupnými funkcemi tím, že vyčíslíte funkce vaší aplikace. Funkce můžete vypsat následujícími způsoby:
- Dotazujte na jednotlivé funkce instalačního programu. Například předtím, než aplikace nakreslí tlačítko nebo položku nabídky, aplikace volá MsiQueryFeatureState funkce, aby instalační program mohl zkontrolovat, zda je tato funkce k dispozici.
- Výčet všech dostupných funkcí najednou voláním funkce MsiEnumFeatures. Aby bylo možné tuto funkci použít, musí aplikace volat MsiEnumFeatures opakovaně při zvyšování indexu.
Podrobné informace o aktuální instalaci získáte opakovaným voláním následujících funkcí výčtu a zvýšením proměnné indexu pro každé volání:
- Zavolejte funkci MsiEnumProducts pro výčet produktů registrovaných v instalačním programu.
- Zavolejte funkci MsiEnumComponents pro výčet komponent.
- Zavolejte funkci MsiEnumComponentQualifiers pro enumeraci kvalifikátorů komponent.
- Voláním funkce MsiEnumClients vytvořte výčet produktů pro konkrétní komponentu.
Pokud je vrácená hodnota funkce výčtu ERROR_SUCCESS, stále zbývají další položky k vyčíslení a funkce by se měla znovu zavolat s inkrementovanou proměnnou indexu. Pokud je vrácená hodnota ERROR_NO_MORE_ITEMS, byly všechny položky vyčerpány a funkce by neměla být volána znovu.