在安装文件中解压sfx压缩文件

利用winrar可以制作自解压文件(sfx)
"C:\Program Files\WinRAR\WinRAR.exe" a -r -y -sfx -ep1 -zHostCheck.diz -x*\.svn\* HostCheck.exe HostCheck\*
其中HostChek.diz的内容如下:
Title=解压文件
Text
{
安装程序正在解压文件,这可能需要几分钟的时间
请稍候...
}
Path=.\HostCheck
overwrite=2
Silent=2

在安装程序的install方法中,可以调用UnRarFiles方法将压缩包解压到安装目录。
注意:解压时,要现将当前目录设置为安装目录,否则压缩文件将被解压到system32下
public void UnRarFiles()
        
{
            
string InstallDir=this.Context.Parameters["targetdir"];
            
string CurrentDir=Directory.GetCurrentDirectory();
            
try
            
{
                Directory.SetCurrentDirectory(InstallDir);    
                //FileAppend(
"install","in directory "+Directory.GetCurrentDirectory());
                Process.Start(InstallDir
+"\\HostCheck.exe");
                Directory.SetCurrentDirectory(CurrentDir);
                //FileAppend(
"install","in directory "+Directory.GetCurrentDirectory());
            }

            
catch(Exception ex)
            
{
                FileAppend(
"install","UarFiles erro:"+ex.Message);
                
return;
            }

        }

   
原文地址:https://www.cnblogs.com/Donal/p/367175.html