我有这个服务是一个.exe文件,我有一个安装该服务的.exe文件。是否可以运行安装程序exe>编写服务exe>然后做其他事情,这样你就不必拥有2个.exe文件但只有1个?
答案 0 :(得分:1)
您可以将service.exe添加为install.exe的EmbeddedResource。
要提取你可以做:
try
{
File.WriteAllBytes(@"c:\service.exe", Resources.embeddedserviceexe);
}
catch
{
// ToDo
}
如果您不想将exe添加到项目资源(通过项目属性中的资源管理器),只需将exe添加到项目中,将其属性设置为EmbeddedResource,然后执行:
try
{
using (Stream resourceStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Namespacename.service.exe"))
{
using (FileStream fileStream = new FileStream(@"c:\service.exe", System.IO.FileMode.Create))
{
for (int i = 0; i < resourceStream.Length; i++)
fileStream.WriteByte((byte)resourceStream.ReadByte());
}
}
}
catch
{
// ToDo
}
答案 1 :(得分:-1)
这就像分娩:) 我可能会选择另一种方法。使用包裹怎么样?