2015-02-04 2 views
0

Я работаю над пользовательскими действиями и wix.The файлы не извлекаются в папку программ (x86). Но файлы извлекаются правильно, кроме файлов программ (x86). Я написал код, используя .NET FRAMEWORK 4.0.Я не могу извлечь файлы в папку программных файлов

имен монтажника { общественного класса CustomActions { [CustomAction] общественности статической ActionResult CustomAction1 (сессия Session) { Session.log ("Begin извлекая"); string FinalPath = session ["APPDIR"]; `` строка zPath = @ "C: \ Users \ AppData \ Local \ Temp \ Install \ 7za.exe";

 string ExtractPath = @"C:\Program Files (x86)\Samples\"; 
     string sourcePath = @"C:\Program Files (x86)\Samples\source.zip"; 

     try` 
     { 
      ProcessStartInfo pro = new ProcessStartInfo();`` 
      pro.WindowStyle = ProcessWindowStyle.Hidden; 
      pro.FileName = zPath; 
      pro.Arguments = "x \"" + sourcePath + "\" -o" + ExtractPath; 
      Process x = Process.Start(pro); 
      x.WaitForExit(); 
     } 
     catch (System.Exception Ex) 
     { 
     } 
     return ActionResult.Success; 
    } 
} 

}

ответ

0

Прежде всего, вам нужно отлаживать его правильно. Вы выбрасываете любую ошибку, которая может быть выброшена. Извините, что сказал, но ваш вопрос, к сожалению, больше похож на «как я могу узнать, почему мой код не работает, когда я выбрал все исключения, которые он мог бы повысить?»

Нет гарантии, что расширение zip будет работать правильно, только запустив его. Он может работать, если WinZip установлен, но не все, что происходит, - это Explorer, чтобы посмотреть файлы.

Вы должны использовать классы, которые будут разархивированы. Пример:

https://msdn.microsoft.com/en-us/library/ms404280(v=vs.110).aspx

Смежные вопросы