Я использовал innosetup для установки своего приложения. Все файлы, например в программных файлах \ тест В каталоге у меня есть файл с расширением .exe моей программы, а также ffmpeg.exeКак установить каталог, где было установлено мое приложение?
Теперь в моем коде я сделал:
class Ffmpeg
{
NamedPipeServerStream p;
String pipename = "mytestpipe";
byte[] b;
System.Diagnostics.Process process;
string ffmpegFileName;
string workingDirectory;
public Ffmpeg()
{
workingDirectory = Path.GetDirectoryName(Application.LocalUserAppDataPath) + @"\workingDirectory";
ffmpegFileName = @"\ffmpeg.exe";
if (!Directory.Exists(workingDirectory))
{
Directory.CreateDirectory(workingDirectory);
}
ffmpegFileName = workingDirectory + ffmpegFileName;
Logger.Write("Ffmpeg Working Directory: " + ffmpegFileName);
}
public void Start(string pathFileName, int BitmapRate)
{
try
{
string outPath = pathFileName;
Logger.Write("Output Video File Directory: " + outPath);
Logger.Write("Frame Rate: " + BitmapRate.ToString());
p = new NamedPipeServerStream(pipename, PipeDirection.Out, 1, PipeTransmissionMode.Byte);
b = new byte[1920 * 1080 * 3]; // some buffer for the r g and b of pixels of an image of size 720p
ProcessStartInfo psi = new ProcessStartInfo();
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.UseShellExecute = false;
psi.CreateNoWindow = true;
psi.FileName = ffmpegFileName;
psi.WorkingDirectory = workingDirectory;
Тхеп РОБЛЕМА является что каталог workDirectory не содержит ffmpeg.exe после установки. поэтому, если пользователь будет запускать первый раз после установки, файл будет отсутствовать.
Я добавил ffmpeg.exe к моему проекту и установить его: Материалы и Copy всегда
Что я хочу сделать то, что каким-то образом установить WorkingDirectory к месту, где пользователь устанавливал программу, если это файл программы или любой другой каталог.
Или установить файл workigDirectory в файл ffmpeg.exe, который уже добавлен в проект.
Проблема заключается в том, что после установки пользователь запустит программу, а каталог workingDirectory будет пустым.
Так что установите ключ реестра во время установки для пути, который пользователь выбрал для установки. Прочитайте этот путь в своем приложении – ata
Я думаю, что вы не создали свой установочный пакет правильно. Рабочий пакет установки будет настолько полным, что пользователь ничего не должен делать. После установки в меню «Пуск» есть несколько ярлыков, и именно там ваш пользователь может найти, как запустить приложение. –