WTL к VS 7.1
От: AndrewJD США  
Дата: 20.05.03 15:17
Оценка:
Привет All !

Подскажите, плз. где можно взять WTL к 7.1 студии да что бы визарды работали
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Re: WTL к VS 7.1
От: apm Россия  
Дата: 20.05.03 16:49
Оценка: 57 (8)
Здравствуйте, AndrewJD, Вы писали:

AJD>Привет All !


AJD>Подскажите, плз. где можно взять WTL к 7.1 студии да что бы визарды работали


Нужно просто поправить скрипт в WTL 7 — setup.js:

// Windows Template Library - WTL version 7.0
// Copyright (C) 1997-2002 Microsoft Corporation
// All rights reserved.
//
// This file is a part of the Windows Template Library.
// The code and information is provided "as-is" without
// warranty of any kind, either expressed or implied.

// Setup program for the WTL App Wizard for VC++ 7.0

main();

function main()
{
    var bDebug = false;
    var Args = WScript.Arguments;
    if(Args.length > 0 && Args(0) == "/debug")
        bDebug = true;

    // Create shell object
    var WSShell = WScript.CreateObject("WScript.Shell");
    // Create file system object
    var FileSys = WScript.CreateObject("Scripting.FileSystemObject");

    var strValue = FileSys.GetAbsolutePathName(".");
    if(strValue == null || strValue == "")
        strValue = ".";

    var strSourceFolder = strValue + "\\" + "Files";
    if(bDebug)
        WScript.Echo("Source: " + strSourceFolder);

    if(!FileSys.FolderExists(strSourceFolder))
    {
        WScript.Echo("ERROR: Cannot find Wizard folder (should be: " + strSourceFolder + ")");
        return;
    }

    var strVC7Key = "HKLM\\Software\\Microsoft\\VisualStudio\\7.1\\Setup\\VC\\ProductDir";
    try
    {
        strValue = WSShell.RegRead(strVC7Key);
    }
    catch(e)
    {
        WScript.Echo("ERROR: Cannot find where Visual Studio 7.0 is installed.");
        return;
    }

    var strDestFolder = strValue + "\\vcprojects";
    if(bDebug)
        WScript.Echo("Destination: " + strDestFolder);
    if(!FileSys.FolderExists(strDestFolder))
    {
        WScript.Echo("ERROR: Cannot find destination folder (should be: " + strDestFolder + ")");
        return;
    }

    var strDest = strDestFolder + "\\";
    var strSrc = "";

    // Copy files
    try
    {
        strSrc = strSourceFolder + "\\WTLApp70.ico";
        FileSys.CopyFile(strSrc, strDest);
        strSrc = strSourceFolder + "\\WTLApp70.vsdir";
        FileSys.CopyFile(strSrc, strDest);
    }
    catch(e)
    {
        var strError = "no info";
        if(e.description.length != 0)
            strError = e.description;
        WScript.Echo("ERROR: Cannot copy file (" + strError + ")");
        return;
    }

    // Read and write WTLApp70.vsz, replace path when found
    try
    {
        strSrc = strSourceFolder + "\\WTLApp70.vsz";
        strDest = strDestFolder + "\\WTLApp70.vsz";

        var ForReading = 1;
        var fileSrc = FileSys.OpenTextFile(strSrc, ForReading);
        if(fileSrc == null)
        {
            WScript.Echo("ERROR: Cannot open source file " + strSrc);
            return;
        }

        var ForWriting = 2;
        var fileDest = FileSys.OpenTextFile(strDest, ForWriting, true);
        if(fileDest == null)
        {
            WScript.Echo("ERROR: Cannot open destination file" + strDest);
            return;
        }

        while(!fileSrc.AtEndOfStream)
        {
            var strLine = fileSrc.ReadLine();
            if(strLine.indexOf("ABSOLUTE_PATH") != -1)
                strLine = "Param=\"ABSOLUTE_PATH = " + strSourceFolder + "\"";
            fileDest.WriteLine(strLine);
        }

        fileSrc.Close();
        fileDest.Close();
    }
    catch(e)
    {
        var strError = "no info";
        if(e.description.length != 0)
            strError = e.description;
        WScript.Echo("ERROR: Cannot read and write WTLApp70.vsz (" + strError + ")");
        return;
    }

    WScript.Echo("App Wizard successfully installed!");
}


и файл WTLApp70.vsz:

VSWIZARD 7.0
Wizard=VsWizard.VsWizardEngine.7.1

Param="WIZARD_NAME = WTLApp70"
Param="ABSOLUTE_PATH = ."
Param="FALLBACK_LCID = 1033"
... << RSDN@Home 1.0 beta 7 >>
BB for fun
Re[2]: WTL к VS 7.1
От: AndrewJD США  
Дата: 20.05.03 16:57
Оценка:
Здравствуйте, apm, Вы писали:

Просто супер ! Оказывается я WTLApp70.vsz не отредактировал ....
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Re[3]: WTL к VS 7.1
От: apm Россия  
Дата: 21.05.03 09:02
Оценка: 20 (3)
Здравствуйте, AndrewJD, Вы писали:

AJD>Здравствуйте, apm, Вы писали:


AJD>Просто супер ! Оказывается я WTLApp70.vsz не отредактировал ....


... а если в файл vc7\vcprojects\atl\atl.vsdir добавить строчку:
..\WTLApp70.vsz| |ATL/WTL Application Wizard|1|An application that uses the Windows Template Library.| |6777|4096|#1154


то вааще будет счастье
... << RSDN@Home 1.0 beta 7 >>
BB for fun
Re[4]: WTL к VS 7.1
От: Андрей Россия  
Дата: 29.05.03 10:55
Оценка: +1
Здравствуйте, apm, Вы писали:

skip

А вот если в папке VC7\vcprojects создать еще папку WTL и кинуть туда исправленный WTLApp70.vsdir (заодно переименовав его в wtl.vsdir) — счастья будет еще больше
Re[5]: WTL к VS 7.1
От: Akzhan Россия http://www.akzhan.midi.ru/devcorner/
Дата: 04.07.03 16:36
Оценка:
Здравствуйте, Андрей, Вы писали:

А>А вот если в папке VC7\vcprojects создать еще папку WTL и кинуть туда исправленный WTLApp70.vsdir (заодно переименовав его в wtl.vsdir) — счастья будет еще больше


До последнего времени всё работало.

Но сейчас на чистую машину поставил
— Windows 2003 Server
— Visual Studio 2003

и при запуске ATL/WTL Wizard после заполнения всех свойст и нажатия на Finish ругается
"VC Package not available or not registered".

ATL Wizard работает нормально...
С уважением,
Акжан, http://www.akzhan.midi.ru/devcorner/ — мой уголок разработчика
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.