рдХреБрдЫ рд╕рд╛рд▓ рдкрд╣рд▓реЗ, рдореИрдВ winapi рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ рд░рд┐рдореЛрдЯрд┐рдВрдЧ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдФрд░ рд░рд┐рдореЛрдЯ рдорд╛рдЙрд╕ рдирд┐рдпрдВрддреНрд░рдг рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд╕рдорд╛рдзрд╛рди рдореЗрдВ .NET рд░реАрдореЛрдЯрд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрдВрдЯрд░реЗрдХреНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ 2 рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╡рд┐рдВрдбреЛрдЬ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рд░реНрд╡рд░ RAdmin рд╕рд░реНрд╡рд░ рдХреЗ рд╕рдорд╛рди рд╣реИ, рдкреЛрд░реНрдЯ рдкрд░ рд╕реБрдирддрд╛ рд╣реИ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдЬрдм рдХреЛрдИ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрдиреЗрдХреНрдЯ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╕рд░реНрд╡рд░ рдХреЛ рдорд╛рдЙрд╕ рдХреА рд╕реНрдерд┐рддрд┐ рдмрджрд▓рдиреЗ рдпрд╛ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдорд┐рд▓рддреА рд╣реИред
рдХреНрд▓рд╛рдЗрдВрдЯ, рдмрджрд▓реЗ рдореЗрдВ, рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрддрд╛ рд╣реИ рдФрд░, рдпрджрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдорд╛рдЙрд╕ рдХреА рд╕реНрдерд┐рддрд┐ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ, рддреЛ рд╕рд░реНрд╡рд░ рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдлрд┐рд▓рд╣рд╛рд▓ рдореИрдВ рд╡рд┐рдВрдбреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдореЗрдореЛрд░реА рд╕реЗ рд╕рдм рдХреБрдЫ рдмрд╣рд╛рд▓ рдХрд░ рджреВрдВрдЧрд╛ред
рдореИрдВрдиреЗ рд░рд┐рдореЙрдЯрд┐рдВрдЧ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЙрд╕ рд╕рдордп рдпрд╣ рдПрдХ рдирдИ рд░реЛрдЪрдХ рддрдХрдиреАрдХ рдереА рдЬрд┐рд╕рдиреЗ рд╣рдореЗрдВ рд╕реЙрдХреЗрдЯ рд╕реНрддрд░ рд╕реЗ рдЕрдореВрд░реНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдФрд░ рд╡рд╕реНрддреБ рдпрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реНрддрд░ рдкрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд┐рдпрд╛ред рдЕрд░реНрдерд╛рддреН, рд╕реЙрдХреЗрдЯ рдЦреЛрд▓рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдмрд╕ рдЙрд╕ рд╡рд╕реНрддреБ рдХреЛ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╣рдо рд╕рд░реНрд╡рд░ рдкрд░ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдЗрд╕рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдо рдПрд╕рдХреНрдпреВрдПрд▓ рдХреЗ рд╕рд╛рде рд╕реЙрдХреЗрдЯреНрд╕ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рд╕реАрдзреА рдмрд╛рддрдЪреАрдд рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ .NET рд░реАрдореЛрдЯрд┐рдВрдЧ ORM рдХреЗ рд╕рдорд╛рди рд╣реИ, рдЬреЛ рдПрдХ рд╕реБрдВрджрд░ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЖрд╡рд░рдг рд╣реИред
рдЧреНрд░рд╛рд╣рдХ
рдЧреНрд░рд╛рд╣рдХ рдЕрдкрдорд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рд╣реИред рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░, рд░реАрдореЛрдЯрд┐рдВрдЧ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░реЗрдВ, рдЬрдм рдЖрдк рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрддреЗ рд╣реИрдВ рдпрд╛ рдЙрд╕рд╕реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛрддреЗ рд╣реИрдВред рдЙрд╕ рдкрд░ рдПрдХ рдЦрд┐рдбрд╝рдХреА рдФрд░ рдПрдХ рд░реВрдк рд╣реИред рд╣рдо рдЙрд╕ рдкрд░ рдорд╛рдЙрд╕ рдЖрдВрджреЛрд▓рдиреЛрдВ рдХреЛ рд░реЛрдХрддреЗ рд╣реИрдВ рдФрд░ рдорд╛рдЙрд╕ рдмрдЯрди рдХреЛ рджрдмрд╛рддреЗ / рдЫреЛрдбрд╝рддреЗ рд╣реИрдВред рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗрд╡рд▓ рдЙрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдЬрд╛рдирддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╡рд╣ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рдорд╛рдЙрд╕ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЗрд╕рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХрд░рддрд╛ рд╣реИред
рдХреНрд▓рд╛рдЗрдВрдЯ рд░реАрдореЛрдЯрд┐рдВрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди
<configuration> <system.runtime.remoting> <application> <lifetime leaseTime="20D" sponsorshipTimeout="1H" renewOnCallTime="1D" leaseManagerPollTime="1H" /> <client> <wellknown type="Communication.Communication,Communication" url="tcp://127.0.0.1:8000/Communication.rem" /> </client> <channels> <channel ref="tcp" port="0" clientConnectionLimit="20" > </channel> </channels> </application> </system.runtime.remoting> <appSettings> <add key="RemotingUrl" value="tcp://127.0.0.1:8000/Communication.rem"></add> </appSettings> </configuration>
рдЧреНрд░рд╛рд╣рдХ рдХреЛрдб
рд▓реЗрдЦ рдореЗрдВ рд╣рд░ рдЬрдЧрд╣ рдПрдХ рд╢рд╛рд░реНрдк рдХреЛрдб рд╣реИред public partial class Form1 : Form { public Form1() { InitializeComponent(); RemotingConfiguration.Configure("Client.config"); } ICommunication iCommunication; bool connected; private void button1_Click(object sender, EventArgs e) { if (!connected) { iCommunication = (ICommunication)Activator.GetObject(typeof(ICommunication), textBox4.Text); connected = true; iCommunication.Move(100, 100); button1.Text = ""; } else { button1.Text = ""; connected = false; } } private void panel1_MouseMove(object sender, MouseEventArgs e) { if (!connected) return; iCommunication.Move(eX, eY); } private void panel1_MouseDown(object sender, MouseEventArgs e) { if (!connected) return; iCommunication.Down(); } private void panel1_MouseUp(object sender, MouseEventArgs e) { if (!connected) return; iCommunication.Up(); } }
рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ - рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд▓реЛрдб рдХрд░реЗрдВ, рдлрд┐рд░, рдЬрдм рдЖрдк рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рджреВрд░рд╕реНрде рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЬрдм рдЪрд▓рддреЗ рд╣реИрдВ рдФрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рддреЗ рд╣реИрдВред
рд╕рд░реНрд╡рд░
рд╕рд░реНрд╡рд░ рдереЛрдбрд╝рд╛ рдкреЗрдЪреАрджрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ рдЬреЛ рдЙрдкрд░реЛрдХреНрдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред .NET рд░реЗрдореЛрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╣ рдорд╛рдЙрд╕ рдореЗрдВ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рддреБрд░рдВрдд winapi SendInput рдХреЛ рдорд╛рдЙрд╕ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдФрд░ рдЗрд╕рдХреЗ рдмрдЯрди рдХреЛ рджрдмрд╛рдиреЗ рдХреЗ рд▓рд┐рдП (рдХрдИ рдорд╛рдЙрд╕ рдмрдЯрди рдХреЗ рд▓рд┐рдП, рдХреАрд╕реНрдЯреНрд░реЛрд▓ рдпрд╛ рд╕реНрдХреНрд░реАрди рдЫрд╡рд┐ рдХреЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг) рднреЗрдЬрддрд╛ рд╣реИред рдЗрд╕ рдХреЛрдб рдХреЛ рдмрджрд▓реЗрдВ - рддрд░реНрдХреЛрдВ рдореЗрдВ рд╣рдо рд╕рд░реНрд╡рд░ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рдореЗрдВ рд╣рдо рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ)ред
рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рд░реАрдореЛрдЯрд┐рдВрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди
<configuration> <system.runtime.remoting> <application> <lifetime leaseTime="20D" sponsorshipTimeout="1H" renewOnCallTime="1D" leaseManagerPollTime="1H" /> <service> <wellknown mode="Singleton" type="Communication.Communication,Communication" objectUri="Communication.rem"/> </service> </application> </system.runtime.remoting> </configuration>
рд╕рд░реНрд╡рд░ рдХреЛ рд╡рд┐рдВрдбреЛрдЬ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рддреЗ рд╕рдордп, рд╕реЗрд╡рд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ)ред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
static void Main() { ServiceBase[] ServicesToRun; ServicesToRun = new ServiceBase[] { new Service1() }; ServiceBase.Run(ServicesToRun); }
рд╕реЗрд╡рд╛рдПрдБ рд╕рдорд╛рди рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрдирдХреЗ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╣реИрдВ рдФрд░ рд╢реБрд░реВ / рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдп рд╣реИрдВред рдРрд╕рд╛ рд╡рд┐рд╢реЗрд╖ рдЬреАрд╡рди рдЪрдХреНрд░ред рдЪреВрдВрдХрд┐ рдпрд╣ рд╕реЗрд╡рд╛ рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдУрд░ рд╕реЗ рд╢реБрд░реВ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП (рдХрд░реНрд╕рд░ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП), рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реЗрд╡рд╛ рдирд┐рдпрдВрддреНрд░рдг рдХрдХреНрд╖ рдореЗрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВред
рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реЗрд╡рд╛ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рд╕реЗрд╡рд╛ рдХреЛ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рд░реНрд╡рд░ рдХреЛрдб
public partial class Service1 : ServiceBase { public Service1() { InitializeComponent(); } Communication communication; protected override void OnStart(string[] args) { System.Runtime.Remoting.RemotingConfiguration.Configure(Application.StartupPath+"\\Server.config"); System.Runtime.Remoting.Channels.ChannelServices.UnregisterChannel(channel); BinaryServerFormatterSinkProvider serverProv = new BinaryServerFormatterSinkProvider(); serverProv.TypeFilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full; BinaryClientFormatterSinkProvider clientProv = new BinaryClientFormatterSinkProvider(); System.Collections.IDictionary props = new System.Collections.Hashtable(); props["port"] = 8625; channel = new TcpChannel(props, clientProv, serverProv); System.Runtime.Remoting.Channels.ChannelServices.RegisterChannel(channel); communication = new Communication(); ObjRef or = RemotingServices.Marshal(communication, "Communication.rem"); communication.Move(100, 100); } TcpChannel channel; protected override void OnStop() { } }
рдпрд╣рд╛рдВ рд╣рдо рдЙрд╕ рд╕реЗрд╡рд╛ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рджреЗрдЦрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд░реЗрдореЛрдЯрд┐рдВрдЧ рдХреЛ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рдордЭрд╛рдиреЗ, рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд▓реЛрдб рдХрд░рдиреЗ, рдЪреИрдирд▓ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рдиреЗ, рдСрдмреНрдЬреЗрдХреНрдЯ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЦрд╛рд╕ рдирд╣реАрдВ рд╣реИред рдЖрдк рдЯреАрд╕реАрдкреА рдХреЗ рдмрдЬрд╛рдп HTTP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореИрдВрдиреЗ рдХрд░реНрд╕рд░ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ред
рдпрд╣рд╛рдБ рд▓рдЧрддрд╛
рд╣реИ ред
рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рдВрдЪрд╛рд░ рдореЗрдВ рд▓рдкреЗрдЯрд╛:
class Communication : MarshalByRefObject, ICommunication {
рд╕рдм рдХреБрдЫ, рд╕рд░реНрд╡рд░ рдХреЛ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ .NET рд░реАрдореЛрдЯрд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
рд╕реЗрд╡рд╛ рдЬреЛрдбрд╝реЗрдВ / рдирд┐рдХрд╛рд▓реЗрдВ
рдЗрд╕ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдмрдирд╛рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рд╕рдорд╛рди рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде 2 рд╢реЙрд░реНрдЯрдХрдЯ рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ:
рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe "G:\current\location\our_service.exe"
рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe "G:\current\location\our_service.exe" /u
рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ Windows XP SP2 рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд┐рдВрдбреЛрдЬ (рд╡рд┐рд╕реНрдЯрд╛, 7) рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдХрд╛рд░рдг рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╣рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИред
рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рдХрд╛ рдлреАрдбрдмреИрдХ рддрдВрддреНрд░ рдпрд╣рд╛рдВ рд╡рд░реНрдгрд┐рдд рдирд╣реАрдВ рд╣реИред рд╣рд╛рдВ, рдЖрдк 2 рдХрдиреЗрдХреНрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ - рдбрд╛рдпрд░реЗрдХреНрдЯ рдФрд░ рд░рд┐рд╡рд░реНрд╕, рдпрд╛ рд╕рдордп-рд╕рдордп рдкрд░ рд╕рд░реНрд╡рд░ рдХреЛ рдХреНрд╡реЗрд░реА рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрдк рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЖрдкрдХреЛ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдПрдХ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рджрд┐рдЦрд╛рдКрдВрдЧрд╛ред рд╡рд╣рд╛рдВ рд╣рдо рддреАрди-рдЖрдпрд╛рдореА рд╕реНрдерд╛рди рдореЗрдВ рдмрд┐рдВрджреБ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реЗрдВрдЧреЗ рддрд╛рдХрд┐ рдЧрдгрдирд╛ рд╕рд░реНрд╡рд░ рдкрд░ рдХреА рдЬрд╛рдП, рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдФрд░ рдлрд┐рд░ рд╣рдо рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░ рджреЗрддреЗ рд╣реИрдВ (рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд░рд┐рдореЛрдЯрд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛, рдХреНрдпреЛрдВрдХрд┐ рдЪрд╛рдВрджреА рдХреА рд╕реАрдорд╛рдПрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддреА рд╣реИрдВ) рдФрд░ рдЗрд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред
рд╕реВрддреНрд░реЛрдВ рдХреЛ
рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ ред