2017-05-24 2 views
0

J'utilise Advanced Installer et je dois appeler une DLL .NET pour obtenir la liste des éléments que je veux afficher dans une zone de liste dans une boîte de dialogue de l'assistant, avant tout est installé.Appelez une DLL .Net pendant les boîtes de dialogue de l'assistant d'installation avancée

J'ai l'intention d'appeler la méthode .NET à partir de powershell et de renvoyer les données, que j'ai testées avec un chemin d'accès codé en dur à la DLL sur le système local.

Le problème est que ce fichier n'est pas copié sur le système de fichiers local jusqu'au tout début de l'installation elle-même. J'ai donc besoin d'un moyen de déployer ce fichier très tôt.

Comment est-ce que je peux faire ceci?

+0

Donc selon la logique. Pourquoi ne lancez-vous pas l'installation, puis effectuez une vérification d'état. Après cela, accédez directement à la DLL à distance et peut continuer votre travail. –

+0

Comment initier l'installation? Vous voulez dire passer par les assistants de base comme la boîte de dialogue FilePath, puis lancer l'installation, puis faire une 'vérification de statut'? Qu'est-ce qu'une vérification de statut? Est-ce un assistant spécifique ou une étape d'installation? –

Répondre

1

Advanced Installer a une option pour ajouter votre DLL en tant que fichier temporaire dans la page "Fichiers et dossiers". Ajoutez simplement la DLL en tant que fichier temporaire, puis appelez-la à partir de votre action personnalisée. Les fichiers temporaires sont copiés sur le système local avant l'apparition des boîtes de dialogue de l'assistant.

+0

Je pensais que les fichiers temporaires sont seulement copiés après toutes les boîtes de dialogue de l'assistant et juste avant de commencer l'installation? Après l'événement FinaliseCost ou quelque chose. J'ai essayé ceci, mais je ne pouvais pas voir le fichier temporaire étant sorti pendant que les boîtes de dialogue d'assistant étaient visibles. –

+0

Un fichier temporaire est extrait dans le dossier% temp% du compte d'utilisateur actuel qui a lancé l'installation. Avez-vous essayé de regarder dans l'emplacement temp correct pour vérifier cela? –