如何检查NSIS setup.exe中的文件?

如何检查NSIS setup.exe中的文件?,nsis,Nsis,在我的NSIS脚本中,我使用以下行: File "..\help\*.*" 我的问题是,我的subversion存储库中有帮助目录(随着我们添加新功能,它会不断更新)。这意味着帮助目录包含一个.svn目录 我希望查看NSIS创建的setup.exe的内容,以验证它没有.svn目录 顺便说一句,我试着看看NSIS在使用通配符时是否会递归地添加文件。没有。但我想验证这一点,因此提出了一个问题。这些东西通常是压缩文件。 您可以使用7z/7-zip来打开EXE存档 作为记录,在下面的评论之后, 我

在我的NSIS脚本中,我使用以下行:

 File "..\help\*.*"
我的问题是,我的subversion存储库中有帮助目录(随着我们添加新功能,它会不断更新)。这意味着帮助目录包含一个.svn目录

我希望查看NSIS创建的setup.exe的内容,以验证它没有.svn目录


顺便说一句,我试着看看NSIS在使用通配符时是否会递归地添加文件。没有。但我想验证这一点,因此提出了一个问题。

这些东西通常是压缩文件。
您可以使用7z/7-zip来打开EXE存档


作为记录,在下面的评论之后,
我想指出我最近关于超级用户7-zip优点的笔记,

我的建议是查看NSIS编译日志,而不是解压缩。它会告诉你所有关于包含文件的信息。在NSIS脚本中进行更改时,我总是检查日志,以确保一切都按照计划进行。将日志从命令行流式传输到文本文件,然后从您喜爱的编辑器中读取。

与其查看NSIS exe本身中的内容,不如排除.svn目录,这样您就知道它们永远不会在其中

像这样的东西可以达到目的:

File /r /x .svn "..\help\*.*"
/x.svn
位告诉NSIS排除这些目录


巧合的是,如果您没有使用
/r
开关,那么您就没有递归地添加文件和文件夹,因此它也不会添加.svn子目录。

我使用7zip文件管理器和“Open Inside”命令。

我尝试了WinRar,它提取的唯一内容是.NET framework安装程序。嗯,现在我想起来了,可能是.NET安装程序的头被读取了,而不是我的setup.exe。我将删除现有的可再发行文件,然后重试。不起作用。删除可再发行文件(基本上是压缩文件,如.NET安装程序)会使WinRar抱怨创建的setup.exe“找不到存档文件”,我不使用WinRar。你找到这个setup.exe的容器了吗?如果一个(好的)归档工具说没有压缩文件,通常只是其中的可执行代码。@nik我刚刚尝试了所有可能的压缩选项(ZLIB、BZIP2、LZMA),但没有一个允许WinRar查看内容。我要试试7-zip以防万一。它只在7-zip下有效,所以我不明白你为什么一直在谈论WinRar。