相关疑难解决方法(0)

当值仅使用默认名称时,如何在Inno Setup中获取注册表值?

我正在尝试使用Inno Setup的Pascal脚本从Windows注册表(在本例中为Google Sketchup)获取应用程序的安装目录,以便我可以在那里安装插件.

注册表项没有名称,它在Regedit中只有"(默认)".

我试过这个:

RegQueryStringValue( HKLM, 'SOFTWARE\Google\Google Sketchup 6', '(Default)', pluginLoc );
Run Code Online (Sandbox Code Playgroud)

但它没有返回值.有什么建议?

windows registry pascal inno-setup

10
推荐指数
1
解决办法
2万
查看次数

如何部署Excel XLL加载项并在Excel中自动注册加载项

我使用ExcelDNA和C#开发了Excel XLL.我正处于开始测试部署的阶段,但找不到实际提供有效步骤的大量信息.

我的项目是作为带有ExcelDna参考的类库开发的.在.dna文件中,我有下面的代码将所有资源打包到XLL的打包版本(即Pack ="true"属性).

<DnaLibrary Name="ExcelXLL" RuntimeVersion="v4.0" Language="C#">
  <ExternalLibrary Path="ExcelXLL.dll" LoadFromBytes="false" Pack="true" />
Run Code Online (Sandbox Code Playgroud)

我想将打包的XLL部署到路径中的目标机器:

%APPDATA%\Microsoft\AddIns
Run Code Online (Sandbox Code Playgroud)

为了使用Excel自动注册XLL,我需要添加一个注册表项,该注册表项取决于用户拥有的Excel版本.

例如,在我的计算机上(运行Excel 2007 32位的Windows 7 64位),我需要将注册表项添加到以下路径:

HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Options\
Run Code Online (Sandbox Code Playgroud)

键是REG_SZ类型,名称为OPEN(或OPEN1,OPEN2等),值为/ R"ExcelXLL-packed.xll"

我有两个问题.第一个是确定用户必须获得正确路径的Excel版本,第二个是确定我需要创建的正确OPEN版本(例如,如果用户已经有OPEN,OPEN1和OPEN2那么我会创建一个OPEN3键).

我正在尝试使用安装和部署项目或InstallShield LE项目进行安装,但无法确定如何进行此操作.有谁知道如何做到这一点或更好的方式吗?

编辑1:

我对此做了大量研究,并查看了几个Windows安装程序.

在打包和部署以及InstallShield LE中,我可以通过将安装程序类放入我的类库并将项目输出与安装捆绑来使安装/卸载工作.在这种方法中,我使用安装程序类处理插入/删除注册表项.我遇到的问题是用户必须先卸载才能运行新安装(无更新功能).

我下载了安装工厂演示版,可以安装/更新工作,但不能进行框架检查(不随演示一起提供).此外,卸载失败(尽管我可以通过更多的调查来解决此问题).

我对使用WiX安装程序感兴趣,但想知道是否有人有关于如何使用WiX执行部署的示例.我还想知道是否需要使用安装程序类,或者是否有不同的方法来处理在HKCU\Software\Microsoft\Office [Version] .0\Excel\Options下搜索OPEN [n]键.如果我使用项目输出来启用安装程序类,那么我需要有两个单独的目标目录(一个在Program Files下用于基本项目输出,一个在%appdata%\ Microsoft\AddIns下用于打包的XLL).

任何帮助是极大的赞赏.

谢谢,

背风处

deployment xll

7
推荐指数
2
解决办法
9894
查看次数

用java确定微软Office的版本

我写了一个程序,它创建了一组输出到excel电子表格的数据.我最初使用jexcel库将数据写入文件,但我想更新程序,以便它可以检查并查看是否应该创建".xls"或".xlsx"文件,然后写入适当的文件类型.Apache POI似乎是写入".xlsx"文件的最佳选择,但是有关确定正确文件类型的任何想法?

我可以让用户在命名文件时选择,但这似乎是用户的额外工作,我假设有些用户不知道他们想要什么文件类型.

有任何想法吗?

此外,我假设操作系统是Windows,用户有一些版本的Excel,在其他情况下,我只会选择默认的文件类型.

java excel file-type version ms-office

4
推荐指数
1
解决办法
3596
查看次数

使用注册表检测安装的 MS Office 是 32 位还是 64 位

我想安装基于excel版本(32位或64位)的vsto插件。我计划捆绑 32 位和 64 位 msis 并通过确定 excel 版本来安装一个。我可以找到这个链接,通过使用注册表来检测 2010 office 是 32 位还是 64 位。 通过注册表检测 Office 是 32 位还是 64 位 但我想检查 excel 2007 和 2013 是 32 位还是 64 位。是否可以通过注册表检测它们。

registry vsto add-in wix ms-office

3
推荐指数
1
解决办法
7263
查看次数

标签 统计

ms-office ×2

registry ×2

add-in ×1

deployment ×1

excel ×1

file-type ×1

inno-setup ×1

java ×1

pascal ×1

version ×1

vsto ×1

windows ×1

wix ×1

xll ×1