На отладке работает, но не работает в нужной папке - C#

Узнай цену своей работы

Формулировка задачи:

Ужас какой то, не могу вычислить в чем ошибка, ведь на отладке и релизе работает, а когда начинаешь пихать в папку где оно должно потом находится... не хочет. Суть программы в том что она скачивает архив, распаковывает его, после чего запускает другую программу распакованную из архива. Это апдейтер. Проблема в том что в нужной папке она не хочет запускать файл "Start Realism2015.exe", а на отладке и в папке релиза он запускается. Код простой и короткий, 2 формы форма 1:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net;
using System.Threading;
using System.Diagnostics;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
 
        System.Net.WebClient WebClient = new System.Net.WebClient();
        System.Diagnostics.Process proc = new System.Diagnostics.Process();

        public Form1()
        {
            InitializeComponent();
            Upd();
        }

        void Upd()
        {
            Uri Uri = new Uri("http://realism2015.ru/realism2015v2/Realism2015v2.7z");
            WebClient.DownloadFileAsync(Uri, "Realism2015v2.7z");
            WebClient.DownloadProgressChanged += new System.Net.DownloadProgressChangedEventHandler(WebClient_DownloadProgressChanged);
            WebClient.DownloadFileCompleted += new System.ComponentModel.AsyncCompletedEventHandler(WebClient_DownloadFileCompleted);
 
        }
        void WebClient_DownloadProgressChanged(object sender, System.Net.DownloadProgressChangedEventArgs e)
        {
            label1.Text = string.Format("Downloading... {0} Kb / {1} Kb", e.BytesReceived / 1024, e.TotalBytesToReceive / 1024);
            progressBar1.Value = e.ProgressPercentage;
        }
        void WebClient_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
        {
            Hide();
            Form2 forma = new Form2();
            forma.ShowDialog();
            Close();
        }
 
        private void progressBar1_Click(object sender, EventArgs e)
        {
 
        }
 
    }
}
форма 2:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net;
using System.Threading;
using System.Diagnostics;
using SevenZip;
 
namespace WindowsFormsApplication1
{
    public partial class Form2 : Form
    {
        SevenZipExtractor se = new SevenZipExtractor(@"Realism2015v2.7z");
        System.Diagnostics.Process proc = new System.Diagnostics.Process();
 
        public Form2()
        {
            InitializeComponent();
            Ystanovka();
            label1.BackColor = Color.Transparent;
        }
        void Ystanovka()
        {
            se.BeginExtractArchive(@Application.StartupPath);
            se.ExtractionFinished += new EventHandler<EventArgs>(se_ExtractionFinished);
            
        }
 
        void se_ExtractionFinished(object sender, EventArgs e)
        {
            se.Dispose();
            launcher();
        }
 
        void launcher()
        {
            //MessageBox.Show("Update completed");
            string launcher = Application.StartupPath;
            string name = @"\Start Realism2015.exe";
            proc.StartInfo.FileName = launcher + name;
            proc.Start();  // вот тут не запускает.
            Close();
        }
        private void Form2_Load(object sender, EventArgs e)
        {
 
        }
 
        private void label1_Click(object sender, EventArgs e)
        {
 
        }
    }
}
Посмотрите люди добрые, может я чего то не замечаю или не знаю?

Решение задачи: «На отладке работает, но не работает в нужной папке»

textual
Листинг программы
se.BeginExtractArchive(@"c:\Games\Steam\steamapps\common\SuperPower 2\");

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5
Похожие ответы