2009-09-25 4 views
0

Je travaille sur un programme d'installation 32 qui doit fonctionner sur des environnements allant de Win XP à la hausse. Nous avons un problème où nous devons supprimer une entrée de registre sur la section x64 du registre sous Windows 2k3 x64.Comment supprimer une entrée de registre dans Windows x64 dans l'arbre 64 bits sans utiliser RegDeleteKeyEx en C++?

C'est assez facile avec RegDeleteKeyEx, mais je ne peux pas distribuer un exécutable qui pourrait appeler cette fonction parce qu'elle ne fonctionnera pas sous Windows XP. Je peux facilement comprendre la clé, je ne vois pas comment je suis censé la supprimer.

Je ne peux pas utiliser RegDeleteKey parce que la redirection de registre va contrecarrer mes efforts sur les plates-formes x64. Je suis ennuyé je ne peux pas simplement passer un handle à ma clé, et une chaîne de sous-clé vide/null. Je ne peux pas croire que cette API était si cassée. Est-ce que je manque quelque chose?

Ma seule idée pour l'instant d'appeler un fichier de registre ou un exécutable séparé pour faire le travail pour moi, mais c'est tout simplement incroyablement moche et ne fait qu'empirer les choses. Y a-t-il un meilleur moyen?

Répondre

Questions connexes