解决在Win10上无法安装Aurora的问题

最近想要在word里写latex公式,然后就按网上的教程,安装latex和word的桥梁——Aurora.
结果。。。我的电脑是最新版的win10,但在打开aurora-setup.exe(aurora安装程序)的时候,
什么都没有发生。。。

我查看了任务管理器,发现aurora安装程序(下文简称aurora)还在运行。
于是,我结束了aurora,然后用UniversalExtractor提取了一下安装文件。这个
安装程序使用NSIS编写的,然后我查看了解压出的.nsi文件,发现了

  File aurora.exe
  File aurora.chm
  File gdiplus.dll
  File unicows.dll
  File remove-toolbars.exe
  SetFileAttributes word10.dot NORMAL
  SetFileAttributes word11.dot NORMAL
  SetFileAttributes word12.dot NORMAL
  ClearErrors
  File word10.dot
  File word11.dot
  File word12.dot
  SetFileAttributes word10.dot READONLY
  SetFileAttributes word11.dot READONLY
  SetFileAttributes word12.dot READONLY
  ClearErrors
  SetOutPath $INSTDIR\defines
  File regular.tex
  SetOutPath $INSTDIR\colorer
  File catalog.xml
  File default.hrc
  File hs.hrd
  File proto.hrc
  File tex.hrc
  SetOutPath $INSTDIR\preview
  File prlyx.def
  File prtightpage.def
  File preview.sty
  File anyfontsize.sty
  SetOutPath $INSTDIR\ui
  File empty.xml
  File ppt.xml
  File word.xml
  File excel.xml

这一段是把主程序安装。

  DetailPrint "Installing fonts..."
  DetailPrint ""
  StrCpy $_2_ $INSTDIR\fonts
  SetOutPath $_2_
  File readme.txt
  Push $0
  Push $R0
  Push $R1
  Push $R2
  Push fonts\RCMB10.ttf

这里是安装字体,把所有字体都复制到fonts文件夹里。

  System::Call "GDI32::AddFontResourceA(t) i ('$0') .s"

这一句看不懂干嘛,但猜想是安装这些字体到系统中。

  DetailPrint ""
  DetailPrint "Integrating with Microsoft(R) Office..."
  DetailPrint ""
  ReadRegDWORD $R0 HKLM "Software\Elevator Lady Inc.\Aurora" "Installed for all users"
  IntCmp $R0 0 label_8614
  WriteRegStr HKLM Software\Microsoft\Office\Word\Addins\Aurora.Connect FriendlyName "Aurora add-in"
  WriteRegStr HKLM Software\Microsoft\Office\Word\Addins\Aurora.Connect Description "Aurora support for Office"
  WriteRegDWORD HKLM Software\Microsoft\Office\Word\Addins\Aurora.Connect LoadBehavior 3
  WriteRegStr HKLM Software\Microsoft\Office\Excel\Addins\Aurora.Connect FriendlyName "Aurora add-in"
  WriteRegStr HKLM Software\Microsoft\Office\Excel\Addins\Aurora.Connect Description "Aurora support for Office"
  WriteRegDWORD HKLM Software\Microsoft\Office\Excel\Addins\Aurora.Connect LoadBehavior 3
  WriteRegStr HKLM Software\Microsoft\Office\PowerPoint\Addins\Aurora.Connect FriendlyName "Aurora add-in"
  WriteRegStr HKLM Software\Microsoft\Office\PowerPoint\Addins\Aurora.Connect Description "Aurora support for Office"
  WriteRegDWORD HKLM Software\Microsoft\Office\PowerPoint\Addins\Aurora.Connect LoadBehavior 3
  WriteRegStr HKLM Software\Microsoft\Visio\Addins\Aurora.Connect FriendlyName "Aurora add-in"
  WriteRegStr HKLM Software\Microsoft\Visio\Addins\Aurora.Connect Description "Aurora support for Office"
  WriteRegDWORD HKLM Software\Microsoft\Visio\Addins\Aurora.Connect LoadBehavior 3
  Goto label_8626
label_8614:
  WriteRegStr HKCU Software\Microsoft\Office\Word\Addins\Aurora.Connect FriendlyName "Aurora add-in"
  WriteRegStr HKCU Software\Microsoft\Office\Word\Addins\Aurora.Connect Description "Aurora support for Office"
  WriteRegDWORD HKCU Software\Microsoft\Office\Word\Addins\Aurora.Connect LoadBehavior 3
  WriteRegStr HKCU Software\Microsoft\Office\Excel\Addins\Aurora.Connect FriendlyName "Aurora add-in"
  WriteRegStr HKCU Software\Microsoft\Office\Excel\Addins\Aurora.Connect Description "Aurora support for Office"
  WriteRegDWORD HKCU Software\Microsoft\Office\Excel\Addins\Aurora.Connect LoadBehavior 3
  WriteRegStr HKCU Software\Microsoft\Office\PowerPoint\Addins\Aurora.Connect FriendlyName "Aurora add-in"
  WriteRegStr HKCU Software\Microsoft\Office\PowerPoint\Addins\Aurora.Connect Description "Aurora support for Office"
  WriteRegDWORD HKCU Software\Microsoft\Office\PowerPoint\Addins\Aurora.Connect LoadBehavior 3
  WriteRegStr HKCU Software\Microsoft\Visio\Addins\Aurora.Connect FriendlyName "Aurora add-in"
  WriteRegStr HKCU Software\Microsoft\Visio\Addins\Aurora.Connect Description "Aurora support for Office"
  WriteRegDWORD HKCU Software\Microsoft\Visio\Addins\Aurora.Connect LoadBehavior 3

这段似乎是添加Aurora到Office中。

  DetailPrint ""
  DetailPrint "Registering Aurora as an equation object server..."
  DetailPrint ""
  DeleteRegKey HKCR CLSID\{EBA04E50-7AB8-457A-A960-A406C06A7B6C}
  ClearErrors
  ExecWait "$\"$INSTDIR\aurora.exe$\" /register"

这段是添加Aurora到office的【对象】里。
即:执行aurora.exe /register

label_8645:
  ClearErrors
  Push $R0
  Push $R1
  Push $R2
  Push $R3
  Push $R4
  Push $R5
  StrCpy $R4 $INSTDIR\office.dll
  StrCpy $R5 $INSTDIR\ui
  IfFileExists $R4 0 label_8655
label_8655:
  StrCpy $R0 $R4
  Call :label_8665
  RegDLL $R4
  Pop $R5
  Pop $R4
  Pop $R3
  Pop $R2
  Pop $R1
  Pop $R0
  Goto label_8669
label_8665:
  SetFileAttributes $R0 NORMAL
  ClearErrors
  SetOverwrite on
  AllowSkipFiles on
  File $R0
  Return

这段是设置office.dll的文件属性为普通,然后释放office.dll到安装目录。
接着,注册这个dll。

看完了安装过程,我们对要做的操作有了一个大概的了解:
(1) 复制所有安装文件到安装目录下
(2) 安装所有fonts目录下的字体
(3) 写入到Office的加载项注册表
(4) 执行aurora.exe /register来注册COM组件
(5) regsvr32.exe office.dll来注册office.dll
对于Office2010以上的电脑,可以跳过(3)。(因为office2013和2016不支持aurora的office加载项)

最后,附上我的安装文件:
https://files.cnblogs.com/files/mchmch/Aurora.7z

后注:
为了让注册机能够工作,需要把安装路径写入到HKLM\Software\Elevator Lady Inc.\Aurora下面的‘默认’里。

posted @ 2018-07-03 17:06  MCH__ds  阅读(1690)  评论(1编辑  收藏  举报