2010-05-22 21 views
0

Veuillez pardonner mon noob-ness sur cela, mais comment puis-je empaqueter LAME.exe avec un projet d'installation C#? À l'heure actuelle, j'ai appelé comme étant BOITEUX:Empaquetage LAME.exe avec un projet C#

//use stringbuilder to create arguments  
var psinfo = new ProcessStartInfo(@"lame.exe") 
    { 
     Arguments = sb.ToString(), 
     WorkingDirectory = Application.StartupPath, 
     WindowStyle = ProcessWindowStyle.Hidden 
    }; 
var p = Process.Start(psinfo); 
p.WaitForExit(); 

Cela fonctionne en mode débogage et la libération sur la machine de développement, mais quand je crée un projet d'installation pour cela, il ne crée jamais le MP3. LAME et le code compilé résident dans le même répertoire lorsqu'il est installé. Aidez-moi!

Répondre

0

WindowStyle = ProcessWindowStyle.Hidden

Commenter ceci afin que vous puissiez réellement lire le message d'erreur qui produit boiteux. L'utilisation d'un EXE séparé est fragile de cette façon, vous ne pouvez pas le détecter ni le diagnostiquer en échouant à faire son travail. Vous pourriez voir quelque chose de Process.ExitCode, des valeurs non nulles sont supposées indiquer un échec.

+0

Malheureusement, cela n'a pas aidé. Le processus LAME n'est pas resté suffisamment longtemps sur l'écran pour être utile. – CitizenX

+0

Exécutez-le avec cmd.exe/k lames.exe * options * pour que la fenêtre de la console reste ouverte. –

+0

Merci, Hans. Il s'avère que c'était un problème de répertoire. – CitizenX