2011-03-30 84 views

回答

1

在接下来的文字我假设你使用Visual Studio 2008

如果您想直接改变你必须修改文件的路径%LOCALAPPDATA%\微软\ VisualStudio的\ 9.0 \ VCComponents.dat

没有必要将密钥写入注册表,因为目录保存在这里。这里 \目录到它:

使用该NSIS代码添加目录Ç

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]

目录= Dir1中; Dir2中; $(VSVariable)路径

以上示例写入目录到的Win32包含文件。看到图片了解它。

enter image description here

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

+0

非常好!谢谢! – bcsanches 2011-05-28 21:33:28

0

NSIS没有为VS任何具体的支持,但你可以用ReadRegStr and WriteRegStr

+0

好吧,我没想到的Visual任何直接的支持,但你知道我应该编辑哪个键添加一个包含路径?谢谢 – bcsanches 2011-03-31 01:50:17

1

创建批处理文件(.bat),您可以设置PATH变量(添加SDK目录到PATH)编辑任何注册表设置 - 这可能取决于您使用的Windows版本。 Visual Studio会自动搜索PATH。

然后简单使用nsExec::ExecToStack以安静模式运行此bat文件。

+0

这可能是一个不错的选择,但nsis可以直接编辑环境变量。但无论如何设置包含路径直接? – bcsanches 2011-05-25 14:53:17

相关问题