使用NSIS获取AutoCAD的安装路径

NSIS是个十分好用的打包工具,工作中常用到AutoCAD软件,出于某些原因,我需要使用NSIS来获取AutoCAD的安装路径。

经过对注册表的一番查看,写出代码如下:

#可自行扩展,比如需要安装AutoCAD字体时,需要找到AutoCAD的安装路径等

Page instfiles

ShowInstDetails show

Var regCount
Var subCount
Var regKeyName
Var subKeyName
Var acadLocation

Section

SetRegView 64
StrCpy $regCount 0
StrCpy $subCount 0

loop:
EnumRegKey $regKeyName HKEY_LOCAL_MACHINE SOFTWARE\Autodesk\AutoCAD $regCount
IntOp $regCount $regCount + 1
StrCmp $regKeyName "" done

loop_sub:
EnumRegKey $subKeyName HKEY_LOCAL_MACHINE SOFTWARE\Autodesk\AutoCAD\$regKeyName $subCount
IntOp $subCount $subCount + 1
StrCmp $subKeyName "" loop
ReadRegStr $acadLocation HKEY_LOCAL_MACHINE SOFTWARE\Autodesk\AutoCAD\$regKeyName\$subKeyName "Location"
StrCmp $acadLocation "" loop_sub

done:
DetailPrint $acadLocation

SectionEnd
时间: 2024-11-05 22:40:46

使用NSIS获取AutoCAD的安装路径的相关文章

【VBA】获取Excle的安装路径

在VBA中,如何获取Excle的安装路径呢?请看以下代码: Sub 获取Excle的安装路径() MsgBox "Excle的安装路径为:" & Application.Path End Sub 点击运行程序后,执行结果如下: 点击下载附件

c# windows服务如何获取自己的安装路径

由于windows服务安装时,系统会自动将windows服务的程序文件复制到系统目录下,通常是System32目录下,windows服务的运行目录就是系统目录,有时候,windows服务在运行时需要知道自己的安装目录,比如,windows服务运行时所需要的一些资源文件,通常可能是一些声音或图像文件,这些资源文件是位于安装目录下的,只有windows服务知道了安装目录,才能对这些资源文件进行访问,那么windows服务如何知道自己的安装目录的信息呢,一种比较简单的做法是通过访问注册表. windo

如何判断msi安装包程序是否安装及安装路径

使用MSI的函数可以检测软件是否安装,获取安装版本信息等,前提是软件为.msi文件安装的. 在使用前建议加上如下头文件及库依赖: #include <Windows.h> #include <Msi.h> #pragma comment(lib, "Msi.lib") 1. 检测软件是否安装,upgradeCode用于标示从一个版本升级到另一个版本,一般可以用于判断是否是同一个软件. bool CheckExistSoftware(wchar_t *upgrad

Selenium IDE安装和检查获取的控件路径技巧

来源:http://www.jianshu.com/p/0ea2dc83549f 从学习Selenium 开始,都是自己写脚本,后来得知有个插件Selenium IDE可以录制脚本,也懒得用了,觉得自己写脚本挺好. 今天看别人的博客,发现Selenium IDE可以检查获取的控件路径是否正确不用通过执行程序的方式来校验,很直接,省去了执行程序的繁琐,特此学习一下. 环境:firefox浏览器,firebug插件,selenium IDE插件场景:通过Selenium IDE检测获取的百度首页中搜

[Q]“获取AutoCAD安装信息时失败...”解决方法

“获取AutoCAD安装信息时失败...”解决方法:在“setup.exe”上右键,以管理员权限运行即可.

获取sqlserver安装路径 得到SQL中的各种目录

1.select filename from master..sysfiles 2.master..xp_instance_regread N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\MSSQLServer\Setup', N'SQLPath' --得到SQL中的各种目录declare @path varchar(8000) --得到当前数据库的数据文件路径select @path=rtrim(reverse(filename)) from sysfi

[转]NSIS:判断D盘存在与否确定安装路径

转载自:http://www.flighty.cn/html/bushu/20140704_239.html 现在我们想实现这样的功能: 如果目标机器存在D盘,那么就安装程序到D盘,否则安装在系统盘. 后来又加了一个判断,即注册表中如果存在安装路径键值,则使用其键值作为安装路径. 思路: 通过检查D盘有没有磁盘空间来进行判断,如果D盘不存在,或者D盘是光驱,得到的磁盘空间必定是null. 示例: !include "MUI2.nsh" !include "FileFunc.n

获取ArcGIS安装路径

在要素类进行符号化时,使用axSymbologyControl需要安装路径下的Style文件路径,在AE9.3+VS2008中是这样的: Microsoft.Win32.RegistryKey regKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\\ESRI\\CoreRuntime", true); axSymbologyControl1.LoadStyleFile(regKey.GetValue(&q

获取手机SD卡路径(国产神机多个SD卡)

通过系统的 Environment.getExternalStorageDirectory().getAbsoluteFile(); 只能得到系统的SD卡路径,对于对个SD卡的国产神机,想得到外部SD卡就无能为力了.   下面介绍一个编写的工具类,通过反射得到系统隐藏的得到所有挂载路径方法获取所有SD卡路径: package com.itheima.mobilesafe.utils; import java.lang.reflect.InvocationTargetException; impo