怎么把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 nevershow
AutoCloseWindow 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" SEC01
SectionEnd

;当“安装”完成后,再次尝试删除全部被释放的文件以确保所有
;文件确实被删除。
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/

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值