L'exécution d'un fichier EXE dans WiX
J'essaie d'exécuter un fichier EXE à partir d'un fichier MSI dans WiX, mais j'ai eu d'erreur 1603 lors InitializeSetup.
Action ended 12:09:54: InstallValidate. Return value 1.
Action start 12:09:54: InstallInitialize.
Action ended 12:09:54: InstallInitialize. Return value 3.
Action ended 12:09:54: INSTALL. Return value 3.
Ce qui est mauvais dans ce WiX Script?
<Product Name='something' Id='11934d63-12d1-4792-829e-046de3bb987e'
UpgradeCode='{a101616a-365c-44a7-bfcb-fafb356c2ea1}'
Language='1033' Version='8.3.4' Manufacturer='something2'>
<Package Id='*' InstallerVersion='200' Compressed='yes' />
<Binary Id="Instalator.exe" SourceFile="d:\Instalator.exe"/>
<CustomAction Id="LaunchFile" BinaryKey="Instalator.exe" ExeCommand="" Execute='deferred' Return='asyncNoWait' Impersonate='no'/>
<InstallExecuteSequence>
<Custom Action='LaunchFile' Before='InstallFinalize'/>
</InstallExecuteSequence>
</Product>
Je ne sais pas pourquoi, mais quand j'ajoute:
<Directory Id='TARGETDIR' Name='SourceDir'>
<Component Id='MainExecutable' Guid='1193cd63-12d1-4792-829e-046de3bb987e'>
</Component>
</Directory>
<Feature Id='Complete' Level='1'>
<ComponentRef Id='MainExecutable' />
</Feature>
après Paquet de noeud -> puis il fonctionne très bien. J'ai besoin de comprendre pourquoi...
Puis-je demander ce "instalator.exe" le fait? Vous pourriez être en train de réinventer la roue ici. robmensching.com/blog/posts/2007/8/17/...
Instalator.exe est un installateur dans Inno Setup. J'ai juste besoin de msi.
Il n'y a pas beaucoup de point de faire cela. Vous serez en contournant les beaucoup de les avantages que vous gagnez en utilisant msi et wix. Je pense que la raison que l'ajout de la composante travaillé, était due au fait que, comme autant que je sache, un long-moins de msi n'est pas valide. Personnellement, je prendrais le temps de convertir les InnoSetup dans wix, il sera beaucoup mieux dans le long terme.
Ah, vous êtes à la rédaction d'un "faux" MSI. Je ne le ferais pas. blogs.msdn.com/b/robmen/archive/2006/02/01/521809.aspx
Oui je pense que c'est une mauvaise idée, mais je pense que c'est une mauvaise idée d'utiliser MSI. Utilisateur utilisateur doit avoir. Je n'ai pas le temps de le faire correctement. Peut-être dans la prochaine version. Merci de me répondre.
Instalator.exe est un installateur dans Inno Setup. J'ai juste besoin de msi.
Il n'y a pas beaucoup de point de faire cela. Vous serez en contournant les beaucoup de les avantages que vous gagnez en utilisant msi et wix. Je pense que la raison que l'ajout de la composante travaillé, était due au fait que, comme autant que je sache, un long-moins de msi n'est pas valide. Personnellement, je prendrais le temps de convertir les InnoSetup dans wix, il sera beaucoup mieux dans le long terme.
Ah, vous êtes à la rédaction d'un "faux" MSI. Je ne le ferais pas. blogs.msdn.com/b/robmen/archive/2006/02/01/521809.aspx
Oui je pense que c'est une mauvaise idée, mais je pense que c'est une mauvaise idée d'utiliser MSI. Utilisateur utilisateur doit avoir. Je n'ai pas le temps de le faire correctement. Peut-être dans la prochaine version. Merci de me répondre.
OriginalL'auteur pawelek | 2012-06-25
Vous devez vous connecter pour publier un commentaire.
J'ai d'autres préoccupations au sujet de ce que vous faites ici, mais si vous avez vraiment besoin de sortir de processus pour un EXE pour compléter votre installation, alors je vous suggérons d'utiliser le Calme De L'Exécution De L'Action Personnalisée.
Que tu saches que ce n'est pas une bonne pratique pour un certain nombre de raisons. 1) Il n'est pas déclarative, 2) il ne supporte pas de restaurations. Il en existe d'autres, mais ceux-ci sont le plus grand de l'OMI.
BTW, WiX n'est pas de "scripting". Comprendre cela et vous comprendrez pourquoi ne pas appeler EXE.
OriginalL'auteur Christopher Painter
Parce que vous exécutez le fichier exe comme une action différée, il s'exécute dans le contexte du compte SYSTÈME. Cette erreur est due au système de compte n'a pas les autorisations requises sur le système de fichiers http://support.microsoft.com/kb/834484.
Il est possible de contourner ce problème à l'aide de PowerShell pour exécuter l'exe à l'aide de l'-RunAs switch, mais c'est un peu méchant. Elle a vraiment tout dépend exactement ce que vous faites dans l'exe pour le meilleur plan d'action. Je suis avec Monsieur le Peintre, à l'aide d'un EXE doit être le dernier recours.
Une autre option est de déplacer le fichier exe d'installation de code afin qu'il exécute la première fois que l'utilisateur exécute l'application.
OriginalL'auteur caveman_dick
Note importante pour WIX, Après l'achèvement de tous les installation de l'application puis la .sql fichier ou les fichiers de base de données s'exécute par le biais de
wix
ouwpf
ouwinform
application.OriginalL'auteur Jhon