使用Advanced Installer

时间:2018-04-24 16:36:03

标签: excel-dna advanced-installer xll

我使用excel dna加载项为excel创建了一些新的用户定义函数,当我手动将加载项添加到excel时,它可以工作,现在我想创建一个安装程序,自动将此加载项部署到excel中,i下载了高级安装程序并创建了一个新的安装程序项目,在“产品详细信息”界面中指定了名称,版本和发布者,在我选择的先决条件.Net Framework 4.5(Web安装程序)中,在启动条件/软件中选择了已安装的Office应用程序/ Microsoft Excel,我添加了我的类库(.dll)/我的xll文件和我的dna文件的文件和文件夹,最后我选择了theme =>构建并运行我的项目,但是当我运行此项目并尝试测试时生成的设置我的功能来自excel,我没有找到它们,我创建的安装程序没有将这个加载项添加到excel中,是否有一些遗漏的步骤?

3 个答案:

答案 0 :(得分:1)

对于.xll Excel加载项(如使用Excel-DNA制作的加载项),您需要一些Office安装程序通常无法添加的注册表项。他们在其中一个Excel键下调用了OPEN,OPEN1,OPEN2等。

对于高级安装程序,您可以在此处阅读非常详细的说明:https://jiripik.com/2017/02/25/use-advanced-installer-excel-dna-project/

另一种方法是使用标准的WiX工具包来制作安装程序。为此,您可以从Excel-DNA WiXInstaller开始作为模板项目:https://github.com/Excel-DNA/WiXInstaller 它有一个自定义操作项目,用于为这些额外的注册表项创建安装程序。

答案 1 :(得分:1)

您需要添加自定义操作来注册加载项,例如:

On Error Resume Next
Dim oXL, oAddin
Set oXL = CreateObject("Excel.Application")
oXL.Workbooks.Add
Set oAddin = oXL.AddIns.Add(Session.property("CustomActionData") & "MyAddin.xll", False)
oAddin.Installed = True
oXL.Quit
Set oXL = Nothing

本文正如Govert的回答中所述,解释了如何设置自定义操作: https://jiripik.com/2017/02/25/use-advanced-installer-excel-dna-project/

我按照文章中的步骤操作,为基于Excel DNA的插件创建了可靠的安装程序,效果非常好。唯一的问题是您需要创建2个安装程序:一个用于32位Excel,另一个用于64位Excel。不幸的是,我找不到一种可靠的方法来检测安装了哪个版本的Excel。

希望这有帮助。

答案 2 :(得分:0)

高级安装程序为https://outlook.office.com/api/v2.0/me/calendars提供了一个向导,您可以在链接文章的视频中看到。

此向导配置一些注册表项,根据MSDN文档,这些注册表是Office检测到您的插件的方式。如果您没有安装,则安装程序不完整。

您需要使用该向导创建项目,之后您可以进一步自定义您在问题中指定的所有项目设置(产品详细信息,启动条件等)。