2010-12-01 49 views
0

J'ai actuellement un installateur que j'ai créé en utilisant Installshield (Basic MSI) qui permet à l'utilisateur de créer un nouveau compte utilisateur sous Windows. Ce compte utilisateur est utilisé par le programme d'installation dans un script SQL exécuté par le programme d'installation.Pourquoi mon programme d'installation (MSI) échoue-t-il lorsqu'un nouvel utilisateur est spécifié pour être créé et qu'il tente de référencer cet utilisateur dans un script SQL pendant l'installation?

Je rencontre un problème où le script SQL échoue parce que le login n'existe pas encore si je demande quand est-ce pu être créé par l'installateur? Puis-je simplement déplacer IISQLServerInstall (l'autorité de certification qui exécute les scripts SQL) à un moment ultérieur afin qu'il s'exécute après la création de l'utilisateur? D'autres idées?

+0

Je veux préciser à ce que je fais ici. J'utilise actuellement un projet MSI de base installshield à la fois pour permettre la création de nouveaux utilisateurs (en utilisant le (s) dialogue (s) LogonInfoCreateUser standard) et pour exécuter certains scripts SQL avec l'appel 'CREATE LOGIN' avec ces informations utilisateur. Le problème est que les scripts SQL échouent parce que l'utilisateur n'existe pas au moment où les scripts SQL sont exécutés. Cela fonctionne correctement si l'utilisateur utilise un compte d'utilisateur existant. – Biggert

Répondre

0

J'ai pris cette enquête sur les forums communautaires Flexera et a obtenu une réponse aujourd'hui par l'un des développeurs InstallShield. Il semble que ce soit un bug dans Installshield 2011. Il a fourni un correctif qui résout ce problème spécifique. Vous pouvez en lire davantage et télécharger le correctif ici: http://community.flexerasoftware.com/showthread.php?t=195894

0

De ma connaissance, vous ne pouvez pas utiliser un compte d'utilisateur dans le même processus d'installation qui crée.

Ceci est parce que la plupart des actions d'installation obtiennent leurs informations dans la phase immédiate, lorsque le script d'installation est créé. Dans cette phase, le compte utilisateur n'existe pas car il n'a pas encore été créé.

Une solution commune est d'utiliser un autre paquet comme condition sine qua non pour votre principale installation. Ce paquet peut installer le compte d'utilisateur dont vous avez besoin.

+0

Cela se traduirait par une expérience utilisateur moins que souhaitable. Ils seront demandés en tant que prérequis pour les informations de l'utilisateur avant même d'arriver au reste des paramètres de l'installateur. J'ai posté plus d'informations ci-dessus en ce qui concerne exactement ce que je fais si tout va bien peut fournir peut-être un autre chemin alternatif à ce que vous avez suggéré. – Biggert