Version: 3.0.4.0
Add comprehensive secure file transfer capabilities to any .NET application.
Frequently Asked Questions
Q: Do samples ship with the product?
A: Absolutely. We ship complete finished apps (not just simple technology demonstrations) in both CSharp and Visual Basic .NET as both Windows Applications and Web Applications.
Back to Top
Q: Does your product support streaming operation?
A: Yes. This product is architected on the basis of streams and almost anything can be represented as a stream.
Back to Top
Q: Extensive designer support? What does this mean?
A: We provide extensive support to help you design, develop, and debug quicker and easier than ever before. For example, we provide full Help 2.0 documentation (including tutorials) which integrates directly into Visual Studio .NET. Also, we provide integrated Editor Forms which can be used for protocol testing.
Back to Top
Q: How will I be affected if I have installed Windows XP SP2?
A: Microsoft Windows XP SP2 is a large update to the Windows XP operating system. The focus of this update is to tighten system security. One of those features is the built-in firewall. By default, Microsoft will turn on the firewall and block all applications from communicating over the Internet. As most PowerTCP products are designed for building Internet applications, those applications may be blocked from accessing the network. The solution to this problem, as it is for any application that needs to access the network, is to grant permission using Microsoft’s configuration utility. Instructions on using the Microsoft firewall are at http://www.microsoft.com/windowsxp/using/security/internet/sp2_wfintro.mspx, and more information about manual network security configuration is available by reading Microsoft Knowledge Base Article - 842242 . Also, Microsoft will disallow using ActiveX controls in Internet Explorer by default. It your web application uses PowerTCP ActiveX controls in IE, your users will have to manually adjust their security settings to allow ActiveX usage. If you find any other problems with SP2 and PowerTCP products, please contact Dart support at support@dart.com.
Back to Top
Q: I just upgraded to the latest version of PowerTCP XXX for .NET, now my Delphi 8 app does not compile. I get an error about a manifest declaration.
A: Delphi caches information about the component when you insert it. Close Delphi and delete any Dart.PowerTCP.xxx.* files that exist, then reopen and rebuild the project.
Back to Top
Q: I put code in my application so that I call I call Object.Abort in my Form_Closing event but the application process never goes away. How do I do it so that the application disappears from the Task Ma
A:

Since the component operation is running on it's own thread, it's important to keep the owner thread around long enough for the worker thread to terminate. Here is what we recommend:

1) On the main form, declare two variables:

Dim Working As Boolean = False
Dim Killing As Boolean = False


2) In the Form_Closing, put the following code:

If Working Then
    If (MessageBox.Show(Me, "Do you wish to abort the operation?", APP_NAME, 
    MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes) Then
        Killing = True
        Object.Abort()  'This would be the instance of the component -ex: Archive1.Abort()
    End If
    e.Cancel = True
End If


3) Prior to calling the component operation, set Working to True

4) After the component operation is complete add the following code:

Working = false
If Killing then Me.Close()


 


Back to Top
Q: I see that you have an FTP component, whereas other companies provide FTP classes. What’s the difference, and why would I want to use a component instead of a class?
A: Good question. Dart’s product staff evaluated both approaches, and learned that a relatively small increase in .dll size and loading time would provide a greatly enhanced development experience for our users. With Toolbox support, development-time FTP testing (using the Editor property), support for authoring event handlers, and Properties Window support enhancing our user’s experience, we decided to base our design on the component model. Users can still use our FTP component as a class where-ever desired, so the only trade-off has been a negligible increase in size and loading time (run-time performance is unaffected).
Back to Top
Q: I want to inspect the header of a remote file, and only download it if contains specific content. How would I deal with this?
A: You can start a download using a stream, and inspect the stream as you read it. If it doesn’t meet your criteria, the transfer can be cleanly aborted without spooling any data to disk. If you choose to process the file, continue reading the stream until empty.
Back to Top
Q: I’m behind a firewall. Can I use your product to communicate through it?
A: Passive operation is the default, so PowerTCP will work with most packet-filtering firewalls (this is the most basic firewall protection). Transparent FTP Proxy Servers provide greater firewall protection without effecting your code. Unfortunately, non-transparent FTP Proxy Servers have to be dealt with, so we directly support SOCK4, SOCK5, SITE , USER , OPEN , and type pipe (a simple tunnel to a predetermined server). Other non-standard proxies can usually be accommodated by sending special commands.
Back to Top
Q: I’m new to Internet Protocols, and all I know is that I have to transfer a file using FTP. Am I in the right place?
A: Yes you are. PowerTCP allows you to do everything supported by the FTP protocol, in almost any manner you choose. You can buy with confidence from the market leader and our support staff is ready to answer any questions you may have!
Back to Top
Q: Is the free trial a 'full version'?
A: Yes. Your trial download is identical to the purchased product. The only difference is the trial download will only work for 30 days (in the case of ActiveX products) or will work for 7 days between each rebuild (for .NET products).
Back to Top
Q: My server responds to proprietary FTP commands that are not part of the RFC. How do you deal with that?
A: The Command() method can be used to send any arbitrary command to your FTP server.
Back to Top
Q: There are other FTP classes on the market. How is yours different?
A: PowerTCP supports BOTH synchronous and asynchronous operation, giving you the flexibility to change your application’s design without buying another product. In addition, PowerTCP implements the FTP protocol from scratch, in contrast to other vendors that only provide a thin wrapper to WININET.DLL functionality (that has known interoperability issues and provides more limited functionality for demanding applications). Consequently, our product is portable to other (future) .NET environments, whereas products using Platform Invoke to access WININET.DLL will not be portable. Finally, Dart focuses on product support, offering a superior value proposition for professional developers.
Back to Top
Q: With version 2.0, the .NET Framework includes FTP functionality. Why should I use your component?
A: Some of the PowerTCP FTP component features not supported by the Framework classes include:

- MGet and MPut support
- Event processing during blocking calls
- Listing parsing
- Persistent FTP sessions (no need to login for each transfer)
- Transfer throttling
- Transfer rate calculation
- Easy session tracing
- Implicit SSL (Secure FTP for .NET only)
Back to Top
Q: How is PowerTCP Secure FTP .NET different than PowerTCP FTP for .NET?
A: PowerTCP Secure FTP for .NET was the secure version of PowerTCP FTP for .NET.  However, the secure features of PowerTCP Secure FTP for .NET have now been incorporated into PowerTCP FTP for .NET, and PowerTCP Secure FTP for .NET is no longer available.  PowerTCP FTP for .NET now includes support for SSL-based encrpytion and certificate authentication for secure file transfers. Most major FTP servers support one of the methodologies for secure FTP transfers, which are all supported by the product.
Back to Top
Q: I don’t know the first thing about SSL. Can you give me an overview that relates it to your product?
A: Basically, once a TCP connection is established, the server identifies itself with a special digital certificate that identifies it as “trustedE Optionally, the server may then require the client to identify itself with a digital certificate. If the respective certificates “pass musterE then all data is encrypted/decrypted using public key technology. PowerTCP makes all this as transparent as possible, while giving you the greatest control over accepting/rejecting certificates.
Back to Top
Q: I exported a certificate from my UNIX operating system to use with your product in SSL mode, but it doesn't seem to work.
A: Our implementation requires that a certificate be properly imported into a valid Microsoft Certificate Store. If you are importing a certificate that was created from a non-MS source (such as OpenSSL), please be sure that you export the certificate properly before attempting to import it into an MS Cert store. Check the docs for whatever SSL system you are using for this info. Also, make sure that when you export your certificate, regardless of your SSL library, that it includes the private key. A certificate that is exported without a private key can not be used as a valid certificate when imported into the Microsoft Certificate Store.
Back to Top
Q: I get an SSL handshake error when I try to do a List. What can I do to fix this?
A: This can occur when a server is set to use non-secure Listings by default. To rectify this, you must send two commands after you have logged in and before you do a List:
Ftp1.Invoke(FtpCommand.Null, "PBSZ 0")
Ftp1.Invoke(FtpCommand.Null, "PROT P")

Back to Top
Q: Why do I see an 'Attempting to deserialize an empty stream' exception when I build my VS.NET 2008 Website?
A:

Websites create an App_Licenses.dll for component licensing which must be distributed with the application.  Due to an apparent VS.NET 2008 bug, this dll is faulty when created during compilation on a 64 bit Operating System.  To work-around the problem, the App_Licenses dll in the 2008 Website can be replaced. 

Options include:
a) Compile a 2005 WebSite on the same (licensed) machine using the same controls/components
b) Compile a 2005 or 2008 WebSite on a 32 bit OS machine, provided this machine is also licensed (Dart Developer licenses allow installation on up to two machines)

Replace the faulty App_Licenses.dll with the resulting dll from one of the options above, and the Website should build and deploy without issue.  Do not delete the new dll, or VS.NET will again create a new faulty one in its place.


Back to Top