怎么把PPT转成EXE格式,详细步骤 |
您所在的位置:网站首页 › 如何将exe文件转换为rar › 怎么把PPT转成EXE格式,详细步骤 |
前几天,我做求婚记的PPT,把它转成了EXE格式。这样做,有以下几点好处: 1 方便没有安装PPT的人观看 2 可以保护PPT的内容不被COPY或者修改 3 便于播放,因为很多PPT里面使用了一些音频、视频资料。PPT里面使用的是相对路径,但是很多情况下,由于在COPY的时候不小心漏掉了资源文件或者COPY的路径不正确。从而导致制作的PPT不能够正确播放。
有朋友问到了我这个问题,怎么把PPT转换成EXE? 下面,我详细地给大家介绍一下我在借鉴别人的方法的基础上,独创的自己的方法。
我在百度上看到一个方法,是使用WinRar打包成EXE,这样做的好处是: 1 简单 不足是: 1 不灵活,必须得把所有文件释放到临时文件夹内,才能在播放结束后让自动删除,否则不能自动删除。如果用NSIS来做包,由于有脚本语言的支持,可以非常灵活。 2 吹毛求疵了,Winrar不是免费软件,得用破解版的才行。NSIS却是实打实的免费开源软件。 3 使用Winrar每次都得重复相同的步骤,并且有一个小步骤漏掉,就会导致生成的EXE不可用,不是很傻瓜化。使用NSIS的话,将脚本编好后,可以无限次重复使用,把PPT打包成EXE的速度会很快。
一、使用的工具(都是免费软件,可以自由下载并使用): 1. NSIS 打包工具,也可以使用其他的安装包打包工具,只要是支持脚本语言的,都会非常好用,非常灵活。 官方下载地址:http://nsis.sourceforge.net/Download 顺便,推荐一款好的NSIS脚本编辑器,叫NIS Edit,官方下载地址:http://hmne.sourceforge.net/ 由于NSIS没有提供好用的IDE,所以,使用这款IDE,可以在编辑脚本的时候事半功倍。 这里贴张图吧,为了说明NIS EDIT可以支持中文,需要按F11,或者Menu->View->Option里面,选择‘简体中文’ 2. PPTVIEWER 2007 可以从微软的官方网站上下载到 官方下载地址:http://download.microsoft.com/download/4/d/2/4d23a5a8-e306-42d5-ba4f-b67dc33216a2/PowerPointViewer.exe (使用PPTVIEWER 2003也行,但是我觉得2007更好些,毕竟可以支持pptx格式)
二、制作过程: 1. 制作PPT:个人自由发挥。 2. 打包(这里,我贴出我所做的NSIS的脚本): ;产品名称,想改就改,一般情况下,不需要修改!define PRODUCT_NAME "PPT2EXE";版本号!define PRODUCT_VERSION "1.0"var OUTPUTPATH ;可以在EXE生成后重命名。OutFile "PPT2EXE.exe"ICON "PPT2EXE/1304.ico"ShowInstDetails nevershowAutoCloseWindow true Function .onInit;播放时,将源PPT释放到的文件夹;为了不让人发现所释放的地方,可以自由修改一个文件夹 StrCpy $OUTPUTPATH "C:" SetOutPath "$OUTPUTPATH" SetOverwrite on SetAutoClose true HideWindow LockWindow on IfFileExists $OUTPUTPATH 0 +2 CreateDirectory $OUTPUTPATH File "PPT2EXE/SAEXT.DLL" File "PPT2EXE/PVREADME.HTM" File "PPT2EXE/PPVWINTL.DLL" File "PPT2EXE/pptview.exe.manifest" File "PPT2EXE/PPTVIEW.EXE" File "PPT2EXE/OGL.DLL" File "PPT2EXE/ppt2exe.ppt" ;添加PPT文件 File "PPT2EXE/ppt2exe.mp3" ;添加资源文件 File "PPT2EXE/MSVCR80.dll" File "PPT2EXE/msvcp80.dll" File "PPT2EXE/msvcm80.dll" File "PPT2EXE/microsoft.vc80.crt.manifest" File "PPT2EXE/INTLDATE.DLL" ExecWait "$OUTPUTPATH/PPTVIEW.EXE ppt2exe.ppt" ;播放PPT ;播放完成或中途退出播放后,马上删除被释放的文件 IfFileExists "$OUTPUTPATH/SAEXT.DLL" 0 +2 Delete "$OUTPUTPATH/SAEXT.DLL" IfFileExists "$OUTPUTPATH/PVREADME.HTM" 0 +2 Delete "$OUTPUTPATH/PVREADME.HTM" IfFileExists "$OUTPUTPATH/PPVWINTL.DLL" 0 +2 Delete "$OUTPUTPATH/PPVWINTL.DLL" IfFileExists "$OUTPUTPATH/pptview.exe.manifest" 0 +2 Delete "$OUTPUTPATH/pptview.exe.manifest" IfFileExists "$OUTPUTPATH/PPTVIEW.EXE" 0 +2 Delete "$OUTPUTPATH/PPTVIEW.EXE" IfFileExists "$OUTPUTPATH/OGL.DLL" 0 +2 Delete "$OUTPUTPATH/OGL.DLL" IfFileExists "$OUTPUTPATH/ppt2exe.ppt" 0 +2 Delete "$OUTPUTPATH/ppt2exe.ppt" ;删除播放后的PPT IfFileExists "$OUTPUTPATH/ppt2exe.mp3" 0 +2 Delete "$OUTPUTPATH/ppt2exe.mp3" ;删除播放后的资源文件 IfFileExists "$OUTPUTPATH/MSVCR80.dll" 0 +2 Delete "$OUTPUTPATH/MSVCR80.dll" IfFileExists "$OUTPUTPATH/msvcp80.dll" 0 +2 Delete "$OUTPUTPATH/msvcp80.dll" IfFileExists "$OUTPUTPATH/msvcm80.dll" 0 +2 Delete "$OUTPUTPATH/msvcm80.dll" IfFileExists "$OUTPUTPATH/microsoft.vc80.crt.manifest" 0 +2 Delete "$OUTPUTPATH/microsoft.vc80.crt.manifest" IfFileExists "$OUTPUTPATH/INTLDATE.DLL" 0 +2 Delete "$OUTPUTPATH/INTLDATE.DLL"FunctionEnd Section "MainSection" SEC01SectionEnd ;当“安装”完成后,再次尝试删除全部被释放的文件以确保所有;文件确实被删除。Section -Post HideWindow LockWindow on IfFileExists "$OUTPUTPATH/SAEXT.DLL" 0 +2 Delete "$OUTPUTPATH/SAEXT.DLL" IfFileExists "$OUTPUTPATH/PVREADME.HTM" 0 +2 Delete "$OUTPUTPATH/PVREADME.HTM" IfFileExists "$OUTPUTPATH/PPVWINTL.DLL" 0 +2 Delete "$OUTPUTPATH/PPVWINTL.DLL" IfFileExists "$OUTPUTPATH/pptview.exe.manifest" 0 +2 Delete "$OUTPUTPATH/pptview.exe.manifest" IfFileExists "$OUTPUTPATH/PPTVIEW.EXE" 0 +2 Delete "$OUTPUTPATH/PPTVIEW.EXE" IfFileExists "$OUTPUTPATH/OGL.DLL" 0 +2 Delete "$OUTPUTPATH/OGL.DLL" IfFileExists "$OUTPUTPATH/ppt2exe.ppt" 0 +2 Delete "$OUTPUTPATH/ppt2exe.ppt" ;删除播放后的PPT IfFileExists "$OUTPUTPATH/ppt2exe.mp3" 0 +2 Delete "$OUTPUTPATH/ppt2exe.mp3" ;删除播放后的资源文件 IfFileExists "$OUTPUTPATH/MSVCR80.dll" 0 +2 Delete "$OUTPUTPATH/MSVCR80.dll" IfFileExists "$OUTPUTPATH/msvcp80.dll" 0 +2 Delete "$OUTPUTPATH/msvcp80.dll" IfFileExists "$OUTPUTPATH/msvcm80.dll" 0 +2 Delete "$OUTPUTPATH/msvcm80.dll" IfFileExists "$OUTPUTPATH/microsoft.vc80.crt.manifest" 0 +2 Delete "$OUTPUTPATH/microsoft.vc80.crt.manifest" IfFileExists "$OUTPUTPATH/INTLDATE.DLL" 0 +2 Delete "$OUTPUTPATH/INTLDATE.DLL"SectionEnd Function .onInstSuccess HideWindow LockWindow on RMDir "$INSTDIR"FunctionEnd
三、从EXE文件获得PPT源文件的方法 只要知道了释放文件的地址,那么在播放PPT的时候,用Alt+Tab或Win键,跳出PPT全屏模式。然后到那个释放的地址去找就可以了,很简单。 注意,这里千万不能按Esc跳出,否则会马上删除掉PPT源文件。
四、分享我做的模版,并在其中附上使用方法 这个zip中有个“使用方法.txt”,其中的内容为: 带*的为可选步骤
*1 如果有mp3的背景音乐,将其命名为ppt2exe.mp3,将背景音乐和将要制作的PPT放到一个目录下。2 制作PPT,链接的mp3背景音乐为ppt2exe.mp3。3 将你的PPT命名为 ppt2exe.ppt。4 制作完毕后,将ppt2exe.ppt和ppt2exe.mp3(如果有的话)复制到PPT2EXE目录下,替换其中的文件。5 如果你的机器上没有NSIS编译器,双击nsis-2.44-setup.exe进行安装。*6 如果你想研究下NSIS脚本,可以安装nisedit2.0.3.exe这个IDE。7 右键单击PPT2EXE.nsi,选择Compile NSIS Script,生成PPT2EXE.exe文件(在当前文件夹下)。8 重命名PPT2EXE.exe为你你想要的任何名字。
制作完毕
这个模版的下载地址(是ZIP压缩包,下载后,将名字最后的.bk删除就可以解压缩后使用了): http://www.rayfile.com/files/7bf84dc7-1c88-11de-a084-0014221b798a/ |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |