Build Number
The build number for the NGWS SDK PDC Tech Preview is 1812.9
Release Purpose
This release provides a technical preview of the NGWS SDK to PDC participants.
This release is provided for evaluation purposes only. It contains prerelease
code, documentation, and specifications, and is not at the level of performance
and compatibility of the final product offering.
Release Ship Vehicles
This build of the NGWS SDK will be provided on CD at the Professional Developers
Conference (PDC) on July 11-14, 2000.
Localization Information
The NGWS SDK PDC Tech Preview build is available in English.
Setup
Installation
Instructions
Caution Before you install the NGWS SDK PDC
Tech Preview you must reformat the computer and install Microsoft
Windows 2000 . Upgrading from a previous version of Microsoft Windows is
not supported. Installing the NGWS SDK PDC Tech Preview on a computer with
applications installed other than those included in the NGWS SDK PDC CD pack is not supported.
Only install the NGWS SDK PDC Tech Preview on computers that are not used
for production or mission-critical data. If you install the NGWS SDK PDC Tech
Preview on a computer used for production, you do so at your own risk.
IIS 5.0 must be installed prior to installing the NGWS SDK.
If IIS is not present on the computer when the SDK installation is performed,
ASP+ will fail to register correctly and ASP+ applications will not run.
The Quickstart tutorials in the SDK are built using ASP+ technology, so it is
recommended that you install IIS 5.0 even if you are primarily interested in
other technologies. If IIS is installed after the SDK,
you must manually register the xspisapi.dll file using regsvr32.
The following must be installed on your computer in the order given:
1.
Microsoftâ
Windows 2000
2.
Verify
that Internet Information Services (IIS) are installed
3.
Microsoftâ
Internet
Explorer 5.5 (on the Windows Component Update 1.0 CD)
4.
Microsoftâ
Data Access Components (MDAC) (on the Windows Component Update 1.0 CD)
5.
Microsoftâ
NGWS SDK PDC Tech Preview
Getting Started with the NGWS SDK
The NGWS SDK Start page is the introductory page for the
NGWS SDK. This page includes links to technical
programming information, sample code, development tools, utilities, and
everything you need to develop solutions using the Microsoft NGWS SDK technologies. It also includes pointers to platform configuration and deployment
overviews, NGWS SDK white papers, and other useful links.
You can view the Visual Studio PDC Tech Preview Readme in
the root Visual Studio 7 folder on your computer. By default this will be C:\Program
Files\Microsoft Visual Studio 7\readme.htm.
System Requirements for NGWS SDK Build 1812.8
The NGWS SDK PDC Tech Preview has the following minimum system requirements:
- Processor: Intel Pentium II-class 300 MHz (Intel Pentium III-class 600 MHz
recommended)
- RAM: 96 MB (128 MB recommended)
- Available hard disk space (for install): 250 MB
- Available hard disk space (post install): 155 MB
- Video: 800x600, 256 colors
- CD-ROM: required
- Operating System: Microsoft Windows 2000 and Microsoft Internet Explorer
5.5
- Other Software: MDAC 2.6 Beta 2
The following is a summary of known issues in the NGWS SDK PDC Tech Preview.
Issues are found after the PDC will be posted at http://dapdweb.microsoft.com/ngws/sdk/issues.
ADO+
- Title: SET statements do not persist between calls to Execute.
ISSUE:
The SQLCommand.Execute method sends commands to the server in the context of a stored procedure (through sp_executesql). As a result, the effects of a SET statement do not persist beyond the duration of the execute. Thus the following, intended to return only the metadata for the customers table, will not work:
SQLCommand cmd = new SQLCommand("SET FMTONLY ON", conn);
cmd.Execute();
cmd.CommandText = "select * from customers";
cmd.Execute();
WORKAROUND:
Use batch sql to execute the SET and SELECT statements in the context of the same call to
Execute.
- Title: Limitations of "auto-generated" commands.
ISSUE:
The SQLDataSetCommand object is used to populate data sets and to reconcile changes to the dataset with the data stored on SQL Server.
When using SQLDataSetCommand, you must specify the SelectCommand property used to populate the dataset.
If no other commands are specified, a facility known as "auto-generate" is invoked to create the SQL statements needed to reconcile changes with the database. However,
auto-generate has the following limitations:
- A primary key or unique column must be specified by the SelectCommand.
- IDENTITY columns cannot be updated using auto-generated commands.
- The SELECT command used initially must be specified when the update is performed.
- If any of the InsertCommand, UpdateCommand, or DeleteCommand properties is specified, the auto-generate facility is not invoked.
In cases where the auto-generate facility is insufficient, you should specify the appropriate insert, update, and delete commands.
- Title: Large decimal values stored in the DataSet can be truncated.
ISSUE:
The DataSet stores data using NGWS runtime data types. In general, this is the most convenient representation. However, truncation that
can occur when the SQL Server representation of the data is of type decimal. The
NGWS runtime decimal type allows a maximum of 28 significant digits, while the SQL Server decimal type allows
38. Thus, when data of this type is stored in the DataSet, truncation will occur if more than 28 significant digits are in use.
When not using the dataset, high-precision decimal values can be accessed through the SQLDataReader, by using the GetSQLDecimal method.
ASP+
- Title: ASP+ Personal Tier feature does not have security enabled by default.
ISSUE:
The ASP+ Personal Tier feature does not, by default, have security enabled for the PDC Tech Preview.
This implies that downloaded applications will be run with full trust. Users should install
Personal Tier applications only if they are certain that the applications come from a secure and trusted source.
Config
- Title: Manually register compprov.mof to use WMI provider for System.Configuration.
ISSUE:
To use the WMI provider for System.Configuration, you must manually register
compprov.mof. To register compprov.mof type the following at the
command prompt:
cd %windir%\complus\v*
mofcomp compprov.mof
Debugger
- Title: CorDbg: The set IP command should not be applied to the last
"}" of a method.
ISSUE:
The compilers are not creating symbol information for the last line of a function.
The compilers do not have a sequence point that links the final "ret"
Intermediate Language (IL) instruction to the closing curly brace in order to
set the IP there.
-
Title: CorDbg breakpoint cannot be set by function name for Visual Basic programs.
ISSUE:
When setting a breakpoint by a function name in a Microsoft Visual Basic program, Cordbg requires a fully-qualified class name, which includes the project name before the class name. For example:
!stop Variety Project.Variety::main
In this example, "Variety Project" is the project name. The project name can be easily obtained from the stack trace:
(cordbg) w
Thread 0x2fc Current State:Normal
0)* variety!Variety Project.Variety::main +0022[native] +0000[IL] in c:\com99\tst\testsrc\dbg_prf\programs\vb\variety\Variety.bas:67
1) variety!Variety Project._vbProject::_main +0022[native] +0001[IL] _s=(0x008d1118) array with dims=[0]
- Title: DbgUrt: Debugger crashes resizing the Locals window.
ISSUE:
When sporadically resizing an undocked Locals window, the debugger may
start filling your screen with garbage and the crash.
- Title: DbgUrt: Display of values for "objects" in the locals
window contains duplicate information.
ISSUE:
When the value of an object is inspected, duplicate information appears in the
"locals", "this", or "watches" window. The fields of any particular object
appear twice.
Assume that you have the following class inheritance:
class Class8 : Class7
{
public double class8Local;
public Class8(double a) : base((a+8.0)) /* constructor */
{
this.class8Local = a;
}
} //end of Class8
class Class9 : Class8
{
public double class9Local;
public Class9(double a) : base((a+9.0)) /* constructor */
{
this.class9Local = a;
}
} //end of Class9
Inspecting "this" under DbgUrt, where "this" is an instance of class9
results in the following:
this {ClassBase.Class9} ClassBase.Class9
- ClassBase.Class9
ClassBase.Class9
ClassBase.Class8 ClassBase.Class8 (DUP INFO)
ClassBase.Class7
ClassBase.Class7 (DUP INFO)
class8Local 10.0 double (DUP INFO)
class9Local
0.0 double (DUP INFO)
- ClassBase.Class8
ClassBase.Class8
ClassBase.Class7 ClassBase.Class7
class8Local
10.0 double
class9Local 0.0 double
a 1.0 double
- Title: DbgUrt: Unable to parse program arguments from the command line.
ISSUE:
The Microsoft Visual Studio SDK Debugger cannot parse command-line arguments. Assume you have a managed executable,
bar.exe, that takes two arguments (arg1, arg2). You can start a debugging session from the
command line, by typing:
But you cannot start a debugging session with the following command:
DbgUrt bar.exe -arg1 -arg2
WORKAROUND:
Use the first syntax to start the debugging session, then explicitly specify the
arguments from the GUI window after DbgUrt is activated.
Documentation
- Title: lm and secpol tools are not documented.
ISSUE:
Two tools located in the SDK \bin directory, lm.exe and secpol.exe, are not documented. These tools are being deprecated and will not be included in future releases of the SDK. Secpol.exe has been replaced by the Code Access Security Policy utility (CasPol.exe), and lm.exe has been replaced by the Assembly Generation utility (al.exe). Both CasPol.exe and al.exe are documented in the SDK.
NGWS Runtime
Samples
- Title: Uninstalling the SDK does not remove samples.
ISSUE:
Uninstalling the SDK does not remove the samples from your computer. To remove
the samples, do the following steps:
- Run the Sample Configuration Utility with the -u switch. This removes the IIS Virtual Roots and Database configuration settings.
For Example: C:\Program Files\NGWSSDK\Samples\Setup\:>ConfigureSamples -u
- Delete the Samples directory.
- To remove the Microsoft Database Engine (MSDE) use the Add/Remove Programs Control Panel
option.
- Title: Configuring MSDE with the samples causes Windows 2000 to issue a security alert.
ISSUE:
Installing the samples also installs and configures MSDE for use with the Quickstart tutorials. During the unattended MSDE installation, Windows 2000 will alert the user that a password does not meet the minimum requirements for the system as described on http://msdn.microsoft.com/library/default.asp?URL=/library/techart/deploybus.htm. This warning does not present a security risk to the user's machine.
- Title: Installing MSDE occasionally fails on machines with large hard
disk drives.
ISSUE:
During the MSDE installation phase of the samples, the error "There is insufficient
disk space on this drive." may occur. This happens when the MSDE setup program fails to correctly report the available size on large
disk drives when the amount of free space is between 4,295,917 KB and 4,367,417 KB or is in the range that occurs when you multiply both the upper and lower limits by the same number.
- Title: Quick start samples require the default SQL Server administrator account password to be blank.
ISSUE:
The Quick start samples that deal with data binding require the default SQL Server administrator account password to be blank. If you are using the full version of SQL Server on the
computer where you install the samples and have the password set to something
other than blank the samples will fail. You can correct this by changing the password back to blank, or by adjusting the samples connect string to reflect your password.
- Title: ASP+ Samples.
ISSUE:
By default, the ASP+ samples assume iso-8859-1 encoding. Exception: The localization samples use UTF-8 entirely.
Where it is desirable to enter or display characters that are not covered by the default encoding, add the following section to the
config.web configuration file.
<globalization
requestencoding="utf-8"
responseencoding="utf-8"
/>
Note that because this section is inherited by sub directories, adding it in the virtual root of the
application changes the
settings for the whole application.
- Title: MSDE Install does not support Terminal Server.
ISSUE:
Installation of Microsoft SQL Server 7.0 and the Microsoft Database Engine, or any of the SQL 7.0 service packs, from a remote Terminal Services client onto a Windows 2000 server that is running Terminal Server Service, fails regardless of the client's operating system (Windows 95, Windows 98, Windows NT 4.0 Workstation, Windows NT 4.0 Server, or Windows 2000).
Microsoft does not support SQL Server 7.0 installation on Terminal Server from the client. For more information, see http://support.microsoft.com/support/kb/articles/Q246/6/94.ASP?LN=EN-US&SD=gn&FR=0 .
- Title: Using debug options when compiling samples may generate errors.
ISSUE:
If you use debug options (/zi and /debug) when compiling samples that link to libc.lib, libcd.lib, libcmt.lib, or libcmtd.lib, you may get an error such as "LIBC.lib(stdenvp.obj) : warning LNK4099: PDB 'libc.pdb' was not found with 'C:\Program Files\NGWSSDK\Lib\LIBC.lib' or at 'C:\Program Files\NGWSSDK\Samples\asm\libc.pdb'; linking object as if no debug info".
You can safely ignore these warnings. To eliminate the warnings, copy the following .pdb files from a Visual Studio 7.0 Vc7\lib directory into your SDK lib directory:
libc.pdb
libcd.pdb
libcmt.pdb
libcmtd.pdb
- Title: Versioning "HowTo" needs a new makefile.
ISSUE:
You must use the following makefile to build the "Use Version Policy" sample in the "How Do I?" section of the Quickstarts:
!IFNDEF
CORSDK
#assumes directory of com20sdk\QuickStart\aspplus\samples\webforms\ctrlauth\simple
CORSDK=C:\com20sdk
!ENDIF
#tell nmake where to find the master rules for building COM+ applications
#assumes file is \com20sdk\QuickStart\master.mak
!include ..\..\..\..\master.mak
# Since we are a protocol of putting all the dlls in a bin dir
# let's reset our global variable to point to the bin directory
#_OUTDIR=..\..\..\..\bin
#since we want the compiler to import from some dll's, let's specify it here
_IMPORTS=/r:calcrv5\calcr.dll /r:parser\parser.dll /a.version:5.0.0.0
#our dependancy list
#since the filename of the dll does not match filename for .cs
#we must specify the command line for the compile
all: Calcrv5 Calcrv6 Parser Math putincache5 putincache6
Math: Math.exe
calcrv5::
cd Calcrv5
nmake
cd ..
calcrv6::
cd Calcrv6
nmake
cd ..
Parser::
cd Parser
nmake
cd ..
putincache5:
@-al /i:calcrv5\calcr.dll
putincache6:
@-al /i:calcrv6\calcr.dll
- Title: RothIRA Sample requires the
IIS virtual root execute permission to be set to Scripts Only.
ISSUE:
The
default configuration of the IIS virtual root sets the execute permission to
Scripts and Executables. This permission must be changed to Scripts Only for the
RothIRA sample to work properly. You can change the permission through the
RothIRA virtual root properties using the Internet Services Manager option under
Administrative Tools on the Start menu.
- Title: Regression in Define Complex Schedule Sample.
ISSUE:
In the Define Complex Schedule sample, comment out the following line:
days.ValidFrom = new DateTime(1900,1,1)
Then, recompile the sample.
When the sample asks you to set your system clock to Wednesday between 7:00am and 6:00pm, you must set it for some Wednesday in the future.
Security
- Title: Verifiable Code.
ISSUE:
For the NGWS SDK PDC Tech Review, code running on the local computer is not required by default to be verifiable. Downloaded code, such as from the Internet or a local intranet, must be verified in order to run. Future releases are expected to make verifiable code a requirement in default security policy for the local
computer.
The C# and Visual Basic language compilers should emit verifiable code (with the exception of C# code that is explicitly marked 'unsafe').
Microsoft Visual C++ code is generally not verifiable by design.
To change the default security policy to require that code on the local machine be verifiable, use the following command:
caspol -cg 1.1 Everything
To revert to the default security policy of not requiring verifiability, use the following command:
- Title: Restrictions on code run from network mounted locations.
ISSUE:
Managed code run from a network share is subject to security policy for the intranet zone and will raise security exceptions
if unauthorized operations are attempted.
WORKAROUND:
Copy the code to the local computer, where it will run without restriction.
OR
Use
the command shown below to turn off restrictions on local intranet code.
NOTE: Doing this significantly weakens the security of your system.
Additionally, this command applies only to the default security policy as shipped; if previous modifications have been made
to the security policy, the command may need to be modified appropriately.
caspol -chggroup 1.2 FullTrust
[When prompted, answer "yes" to confirm the change]
Setup
- Title: Uninstalling NGWS SDK can cause Visual Studio 7.0 to stop working.
ISSUE:
If you install the NGWS SDK, then install Visual Studio 7.0, and then uninstall the
NGWS SDK, Visual Studio 7.0 will no longer work properly.
- Title: Internal Error 2359 during install.
ISSUE:
This error occurs because the local SYSTEM account does not have sufficient privileges to write to either the Windows directory or the WWW root directory.
WORKAROUND:
Display the properties for the WINNT and WWWRoot directories. Under the Security tab, make sure that the local SYSTEM account has full control to those directories. Then rerun setup.
XML
- Title: Moving between the XmlDataDocument and the DataSet.
ISSUE:
The XmlDataDocument is an XmlDocument (DOM) object that knows how to use a DataSet to optimally store, search, and expose structured data through the DataSet's relational view.
In the PDC Tech Preview versions of XmlDataDocument and DataSet, there is no way to
go from the DataSet to the associated XmlDataDocument. It is possible to obtain a DataSet from an XmlDataDocument through the XmlDataDocument's DataSet property, as
shown in the following example:
DataSet xmlDataSet = myXmlDataDocument.DataSet;
It is also possible to obtain a new XmlDataDocument for an existing DataSet by passing that DataSet to the XmlDataDocument's
constructor. For example:
XmlDataDocument myXmlDataDocument = new XmlDataDocument(xmlDataSet);
- Title: DataSet schema changes not reflected in the XmlDataDocument.
ISSUE:
For the PDC Tech Preview release, schema changes made to the DataSet are not
reflected in the associated XmlDataDocument. To obtain an
XmlDataDocument view of a DataSet whose schema has been defined directly, either
through the designer tools, as a strongly typed DataSet, by calling
DataSet.ReadXmlSchema or DataSet.InferSchema, or by directly manipulating the
various schema collections on the DataSet, you must create a new XmlDataDocument,
and pass the DataSet with existing schema to the XmlDataDocument's constructor.
- Title: Limited editing capabilities in the XmlDataDocument.
ISSUE:
For the PDC Tech Preview release, XmlDataDocument does not support editing
the structure of the XML document. Existing values can be changed, but nodes
cannot be inserted or deleted.
- Title: DataSet.
ISSUE:
Calling ReadXmlData to load data into the DataSet maps incoming data into the DataSet's existing tables and columns. Ordering of elements within the XML is not preserved, nor is whitespace. Elements in the XML that do not match the relational structure of the DataSet may be lost.
To expose XML data through the DataSet without losing any fidelity of the incoming XML, a DataSet
can be associated with an XmlDataDocument. The XmlDataDocument retains the full fidelity of the source XML, while allowing the data to be edited through either the XmlDataDocument's XML view or the DataSet's relational view.
In the PDC Tech Preview release, there is no way to go from the DataSet to its associated XmlDataDocument. It is possible to create a new XmlDataDocument for an existing DataSet, and to
go from an XmlDataDocument to its associated DataSet. Note that the XmlDocument property on the DataSet does not point to the associated XmlDataDocument, but
rather to a separate object that will not be supported in the future. Following
the PDC, this property will be replaced with an XmlDataDocument property that points to a related XmlDataDocument object.
- Title: XSLT Support.
ISSUE:
The following aspects of Extensible Stylesheet Language Transformations (XSLT) are not yet supported: import and apply-imports, named templates and call-template, attribute sets, sorting, parameters and variables,
white space stripping, output modes, namespace aliasing, numbers and decimal formatting, and fallback.
- Title: XPATH Support.
ISSUE:
Queries involving axes such as Ancestor, Ancestor-or-Self, and Parent must be standalone
(that is, they cannot be combined with another axis). Preceding and Following axes are not supported.
- Title: Limitations of XmlTextReader.
ISSUE:
Compared with msxml.dll, XmlTextReader does not support as many encodings, does not support reading
Unicode encoded files on computers with a non-US System locale, and does not implicitly resolve general entities if
ResolveEntity is not explicitly called.
The context skipped by the XmlTextReader.Skip method will be checked for well-formedness; however, general entities in the skipped content will not be resolved for
their well-formedness. Duplicate attributes with different prefixes but the same namespaces are not detected and flagged as errors.
Other
- Title: Code Download Minimum Requirements.
ISSUE:
To download a control using a Web browser, the following must be installed on your computer:
- Internet Explorer 5 (on Microsoft Windows 2000) or Internet Explorer 5.01 (on Microsoft Windows 95 and Microsoft Windows 98)
- The NGWS SDK runtime
Otherwise, the browser may appear to hang or your application may behave unpredictably.
- Title: You must have Visual Studio 6.0 SP 3 installed when creating or using
Visual Basic 6.0 components for use with the NGWS SDK.
ISSUE:
Visual Basic 6.0 has a shut-down problem with the NGWS SDK. If a managed program uses a
Visual Basic 6.0 ActiveX component, the Visual Basic 6.0 runtime may show an
Application Error when the managed program finishes.
WORKAROUND:
Install Visual Studio 6.0 SP 3.
- Title: DateTimeServer can give an unhandeld exception.
ISSUE:
Your system security settings may prevent the DateTimeServer application from running correctly.
To avoid this, run the application from the command prompt as follows:
c:\> start DateTimeServer.exe
- Title: Viewing the Global Assembly Cache.
ISSUE:
Shfusion.dll must be registered to view the global assembly cache. To do this, run regsvr32.exe shfusion.dll from the \winnt\assembly directory. If you decide to delete the global assembly cache, do not delete shfusion.dll because it is required for viewing the cache at a later time.
- Title: Prinfo quickstart: usage does not agree with content on page.
ISSUE:
The prinfo quickstart content reads:
If you want to show the most common information about a process, run the sample with the "p" option
with a process id. Remember to substitute a real process id for "125".
> PrInfo.exe p 125
According to the correct usage, it should read:
If you want to show the most common information about a process, run the
sample with the "i" option with a process id. Remember to substitute a
real process id for "125".
> PrInfo.exe i 125
- Title: A benign exception message box appears when adding Web references.
ISSUE:
Adding Web references causes a benign exception message box to appear. Click OK and continue. The references will be added correctly.
- Title: Update cascades in the dataset.
ISSUE:
Updates that are applied to a data table with a relationship to child tables cause new and/or modified rows in the child tables to be marked as original values, without calling the update on the child tables. As a result, the application can update the parent row but not the child rows.
Workaround:
Set the AcceptRejectRule for any relationships between data tables to None. This should be done after the relationships are added to a DataSet.
Example:
DataSet1.Relations["RelationshipName"].ChildKeyConstraint.AcceptRejectRule = System.Data.AcceptRejectRule.None
Support
Newsgroups
Information about PDC Tech Preview newsgroups can be found at http://dapdweb.microsoft.com/ngws/sdk.
Providing Feedback
We want your opinions and suggestions on the NGWS SDK, both
the software and the documentation. We are providing a couple of ways to get
your feedback.
Product Feedback:You can provide feedback about the NGWS SDK from the PDC Tech Preview Web
site. To access the feedback portion of the Web site directly, go to http://dapdweb.microsoft.com/ngws/sdk/feedback.
Documentation Feedback:To provide feedback about the
documentation, send e-mail to ngwssdk@microsoft.com.
There is a link to this alias on every page of the NGWS SDK documentation.
The alias should be used for documentation issues only. If you encounter
issues about the product, please use the URL provided above.