Je travaille sur un programme d'installation qui crée un fichier .msi. Il y a un programme CustomAction associé qui est écrit en C#. Il y a trois références d'objet COM faites dans ce programme CustomAction qui sont nécessaires pour que cela fonctionne. Ils sont comme suit.Le fichier ou l'assemblage ne peut pas être chargé Erreur
- Active DS IIS Namespace fournir (C: \ Windows \ System32 \ inetsrv \ Adsiis.dll)
- Windows Script Object Model Host (C: \ Windows \ System32 \ Wshom.ocx)
- NetFwTypeLib (C: \ Windows \ System32 \ FirewallAPI.dll)
Comme les informations ajoutées, après les tâches que j'utilise ces DLL dans mon programme.
- Pour définir les paramètres MIME pour un type de fichier particulier.
- Pour créer un raccourci sur le bureau vers un dossier.
- Pour enregistrer un programme en tant qu'exception pare-feu
.
Maintenant, voici mon problème. Lorsque je reconstruis le programme C# et exécute le programme CustomAction à partir de Visual Studio, cela fonctionne très bien et je peux faire les trois tâches ci-dessus comme un charme. Cependant, quand je compile réellement le .msi et essaye de l'exécuter et installe le programme sur mon système, il donne une erreur. J'utilise un système d'exploitation japonais de sorte qu'il donne l'erreur en japonais, donc je vais essayer de traduire le message d'erreur en anglais du mieux que je peux. L'erreur est quelque chose comme ceci:
*
fichier ou l'assembly 'Interop.IISOle, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null', ou une de ses dépendances pourrait ne pas être chargé. Impossible de trouver le fichier spécifié.
*
Ce message d'erreur particuler est donnée car elle se rapporte à la première dll (Adsiis.dll) parce qu'il est celui qui contient l'espace de noms IISOle. De même il donne des messages d'erreur relatifs à tous les trois objets COM auxquels j'ai fait référence depuis mon programme. Maintenant ce que je peux comprendre de ceci est, d'une manière ou d'une autre quand ce code est dans le dossier .msi il ne peut pas trouver les objets COM appropriés. Je suis vraiment confus pourquoi cela se produit comme le programme d'installation donne la même erreur lorsque j'essaye d'installer le programme même sur la même machine que j'ai utilisée pour coder le CustomAction. Curieusement, il s'exécute parfaitement avec l'interface Visual Studio. S'il vous plaît, aidez-moi avec ça. Merci d'avance!
Notez que je travaille sur Windows Vista, mais je besoin de mon installation pour pouvoir installer sur une variété de système d'exploitation Windows, de Windows Server 2003 à Windows 7.
Vos actions sont-elles exécutées différées? De plus, vous n'avez pas besoin d'écrire vos propres actions personnalisées au moins pour 2. et 3., utilisez celles de Wix! –