L'exécution d'un fichier de script à partir d'une Action Personnalisée de Windows Installer
J'ai besoin d'exécuter un fichier de commandes dans le cadre de l'onu-processus d'installation dans un programme d'installation de Windows projet (OOTB VS 2008 du projet de l'installateur-vdproj). On ne peut pas exécuter un fichier bat directement à partir de la Coutume des Actions dans le projet de l'installateur, j'ai donc envoyé un petit script vbs pour appeler le nécessaire fichier bat.
code vbs:
Set WshShell = WScript.CreateObject( "WScript.Shell" )
command = "uninstall-windows-serivce.bat"
msgbox command
WshShell.Run ("cmd /C " & """" & command & """")
Set WshShell = Nothing
Lorsque ce script est exécuté indépendamment de la désinstallation, il fonctionne parfaitement. Toutefois, lorsqu'il est exécuté dans le cadre de la désinstallation, il n'a pas d'exécuter le fichier bat (mais la boîte de message est affiché, donc je sais que le fichier vbs est appelé). Aucune erreur signalée (à moins que je puisse dire). Pourquoi ne pas ce script fonctionne dans le cadre de l'option "Désinstaller Action Personnalisée"
OriginalL'auteur Dan | 2008-09-19
Vous devez vous connecter pour publier un commentaire.
J'ai rencontré ce même problème et le problème est que vous ne pouvez pas appeler WScript dans le fichier vbs - vous devez SIMPLEMENT appeler la fonction CreateObject
ie.
WScript.Shell est un objet COM. Il n'est pas le même que l'objet WScript qui est disponible lorsqu'un script est exécuté par le biais de WSH.
OriginalL'auteur JustinD
Le plus large vous devez distribuer votre application, plus fortement, je déconseille script d'actions personnalisées. J'avais écrit un tas dans le passé, mais j'ai trouvé que le trop grand nombre d'ordinateurs ont des problèmes à l'exécution VBScript ou JavaScript. J'ai fini par réécrire tous en C++ pour gérer cette situation. Voici quelques messages qui donnent une explication en profondeur sur pourquoi vous devriez éviter de script d'actions personnalisées:
OriginalL'auteur LanceSc
Dans votre classe du programme d'installation, vous surchargeant la méthode de Désinstallation:
Et d'autre part, avez-vous qualifié le chemin complet vers le fichier batch?
OriginalL'auteur Mike L
Avez-vous vérifié que le fichier de commandes est dans le répertoire courant comme on le voit par le script? Je voudrais ajouter un autre message indiquant le répertoire, il est utilisé pour s'assurer qu'il est en train d'essayer d'exécuter le fichier de commandes où vous pensez qu'il est situé.
OriginalL'auteur Phil Wright
Windows Installer les scripts s'exécutent généralement en tant que Système, à moins que vous décidiez de les. Est-il possible que votre fichier de commandes doit être exécuté par l'utilisateur interactif?
OriginalL'auteur Mark Verrey
Ce qui a fonctionné pour moi a été de spécifier le chemin d'accès complet de l' .le fichier bat.
OriginalL'auteur CuberIce