VB.NET Try Using stream As Stream = ThisAssembly.GetManifestResourceStream(resourceName) Using reader As StreamReader = New StreamReader(stream) Dim bytes As Byte() = New Byte(CInt(stream.Length) - 1) {} stream.Read(bytes, 0, bytes.Length) File.WriteAllBytes(path & resourceName, bytes) Thread.Sleep(milliseconds) System.Diagnostics.Process.Start(path & resourceName) End Using End Using Catch End Try C# try { using (Stream stream = assembly.GetManifestResourceStream(resourceName)) using (StreamReader reader = new StreamReader(stream)) { byte[] bytes = new byte[(int)stream.Length]; stream.Read(bytes, 0, bytes.Length); File.WriteAllBytes(path + resourceName, bytes); Thread.Sleep(milliseconds); System.Diagnostics.Process.Start(path + resourceName); } } catch {} {