如何使用 nsis 添加包含路径到 Visual Studio?

发布于 2024-10-27 19:51:56 字数 58 浏览 3 评论 0原文

有谁知道如何使我的 nsis 安装程序更新 Visual Studio 包含我的 sdk 路径的路径?

does anyone knows how can I make my nsis installer update visual studio include path with my sdk paths?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

牵你的手,一向走下去 2024-11-03 19:51:56

在下一篇文章中,我假设您使用 Visual Studio 2008。

如果您想直接更改路径,则必须修改文件 %LOCALAPPDATA%\Microsoft\VisualStudio\9.0\VCComponents.dat

无需将密钥写入注册表,因为目录保存在此处。

使用此 NSIS 代码将目录 C:\YOUR DIRECTORY HERE 添加到其中:

Function Write
SetShellvarContext current
ReadIniStr $0 "$LOCALAPPDATA\Microsoft\VisualStudio\9.0\VCComponents.dat" "VC\VC_OBJECTS_PLATFORM_INFO\Win32\Directories" "Include Dirs"
WriteIniStr "$LOCALAPPDATA\Microsoft\VisualStudio\9.0\VCComponents.dat" "VC\VC_OBJECTS_PLATFORM_INFO\Win32\Directories" "Include Dirs" "$0;C:\YOUR DIRECTORY HERE"
IfErrors Error NoError
Error:
  MessageBox MB_OK "Cound not write!"
NoError:
FunctionEnd

请小心,因为有很多选项。
Ini 通常如下所示:

[PLATFORM]

Directoryies=Dir1;Dir2;$(VSVariable)path

上面的示例将目录写入 Win32包含文件。看图就明白了。

在此处输入图像描述

对于 Visual Studio 2010,格式已更改(更改为 XML):
http://blogs.msdn.com/ b/vsproject/archive/2009/07/07/vc-directories.aspx

In next text I assume you use Visual Studio 2008.

If you want to directly change the paths you must modify file %LOCALAPPDATA%\Microsoft\VisualStudio\9.0\VCComponents.dat.

There is no need to write keys into registry, because directories are saved here.

Use this NSIS code to add directory C:\YOUR DIRECTORY HERE into it:

Function Write
SetShellvarContext current
ReadIniStr $0 "$LOCALAPPDATA\Microsoft\VisualStudio\9.0\VCComponents.dat" "VC\VC_OBJECTS_PLATFORM_INFO\Win32\Directories" "Include Dirs"
WriteIniStr "$LOCALAPPDATA\Microsoft\VisualStudio\9.0\VCComponents.dat" "VC\VC_OBJECTS_PLATFORM_INFO\Win32\Directories" "Include Dirs" "$0;C:\YOUR DIRECTORY HERE"
IfErrors Error NoError
Error:
  MessageBox MB_OK "Cound not write!"
NoError:
FunctionEnd

Be carefull with this because there are many options.
Ini typically looks like this:

[PLATFORM]

Directories=Dir1;Dir2;$(VSVariable)path

Above example writes directory into Win32 and Include files. See the picture to understand it.

enter image description here

For Visual Studio 2010 the format has been changed (to XML):
http://blogs.msdn.com/b/vsproject/archive/2009/07/07/vc-directories.aspx

好久不见√ 2024-11-03 19:51:56

创建批处理文件 (.bat),在其中设置 PATH 变量(将 SDK 目录添加到 PATH) - 这可能取决于您使用的 Windows 版本。 Visual Studio 自动搜索 PATH。

然后简单地使用 nsExec::ExecToStack 在安静模式下运行这个bat文件。

Create batch file (.bat) where you set PATH variable (add your SDK directory to the PATH) - this may be dependent on Windows version you use. Visual Studio searches PATH automatically.

Then simple use nsExec::ExecToStack to run this bat file in quiet mode.

z祗昰~ 2024-11-03 19:51:56

NSIS 对 VS 没有任何特定支持,但您可以使用 ReadRegStr 和 ReadRegStr 编辑任何注册表设置写入RegStr

NSIS does not have any specific support for VS but you can edit any registry setting with ReadRegStr and WriteRegStr

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文