دوستان عزیز، خوشبختانه مشکل من حل شد، توضیحات و برای اون دسته میدم که شاید یه وقت با این مسئله روبرو شدند
بهترین کار برای اجرای برنامه ای که دیتابیس sql داره ابتدا اجرای یک فایل exe واسطه هست که بعد از تکمیل لود شدن sql که در بالا توضیح داده شد، فایل exe اصلی به روش زیر فرا خوانده شه در رویداد load فرم واسطه این کد را قرار دهید
private void Form1_Load(object sender, EventArgs e)
{
ServiceController sc = new ServiceController("MSSQL$SQLEXPRESS");
while (sc.Status != ServiceControllerStatus.Running)
{
System.Threading.Thread.Sleep(1000);
}
string path = "";
string[] p = Application.ExecutablePath.Split(new char[] { '\\' });
for (int i = 0; i < p.Length - 1; i++)
{
path += p[i] + @"\";
}
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.FileName = "program.exe";
startInfo.WorkingDirectory = path;
startInfo.UseShellExecute = false;
System.Diagnostics.Process.Start(startInfo);
Application.Exit();
}
این کد با خط startInfo.UseShellExecute = false;
به نتیجه خواهد رسید که باعث میشه فایل exe مانند کلیک کردن بر روی exe اجرا گردد