使用 NSIS 安装在 ProgramData 文件夹中
install in ProgramData folder using NSIS
我想使用 nsis installer
在 C:\ProgramData
文件夹中安装一些应用程序数据。我想避免对其进行硬编码,因为它可能不在 C: drive
上。
文档 https://nsis.sourceforge.io/Docs/Chapter4.html 没有任何定义 ProgramData
的常量。 nsis
在 ProgramData
文件夹中的安装方式是什么?
Microsoft 移动并重命名了 Vista 中的一些特殊文件夹。 %ProgramData%
是 CSIDL_COMMON_APPDATA
,您可以在 NSIS 中获取该路径:
Section
SetShellVarContext all
MessageBox MB_OK "$LocalAppData"
SetOutPath "$LocalAppData\MyAppsData"
File /r mydata\*.*
SectionEnd
您可以使用 GetKnownFolderPath
:
GetKnownFolderPath [=10=] {62AB5D82-FDC1-4DC3-A9DD-070D1D495D97} ; FOLDERID_ProgramData
MessageBox MB_OK [=10=]
我想使用 nsis installer
在 C:\ProgramData
文件夹中安装一些应用程序数据。我想避免对其进行硬编码,因为它可能不在 C: drive
上。
文档 https://nsis.sourceforge.io/Docs/Chapter4.html 没有任何定义 ProgramData
的常量。 nsis
在 ProgramData
文件夹中的安装方式是什么?
Microsoft 移动并重命名了 Vista 中的一些特殊文件夹。 %ProgramData%
是 CSIDL_COMMON_APPDATA
,您可以在 NSIS 中获取该路径:
Section
SetShellVarContext all
MessageBox MB_OK "$LocalAppData"
SetOutPath "$LocalAppData\MyAppsData"
File /r mydata\*.*
SectionEnd
您可以使用 GetKnownFolderPath
:
GetKnownFolderPath [=10=] {62AB5D82-FDC1-4DC3-A9DD-070D1D495D97} ; FOLDERID_ProgramData
MessageBox MB_OK [=10=]