diff --git a/scripts/update_vs_apps.pl b/scripts/update_vs_apps.pl
index a5f6c8f..3607c80 100755
--- a/scripts/update_vs_apps.pl
+++ b/scripts/update_vs_apps.pl
@@ -2,20 +2,31 @@
 
 # create individual project files for example programs
 # for VS6 and VS2010
+#
+# Must be run from PolarSSL root or scripts directory.
+# Takes no argument.
 
 use warnings;
 use strict;
 
-my $vs6_dir = "../visualc/VS6";
+my $vs6_dir = "visualc/VS6";
 my $vs6_ext = "dsp";
-my $vs6_template_file = "data_files/vs6-app-template.$vs6_ext";
+my $vs6_app_tpl_file = "scripts/data_files/vs6-app-template.$vs6_ext";
 
-my $vsx_dir = "../visualc/VS2010";
+my $vsx_dir = "visualc/VS2010";
 my $vsx_ext = "vcxproj";
-my $vsx_template_file = "data_files/vs2010-app-template.$vsx_ext";
+my $vsx_app_tpl_file = "scripts/data_files/vs2010-app-template.$vsx_ext";
+
+my $programs_dir = 'programs';
 
 exit( main() );
 
+sub check_dirs {
+    return -d $vs6_dir
+        && -d $vsx_dir
+        && -d $programs_dir;
+}
+
 sub slurp_file {
     my ($filename) = @_;
 
@@ -43,24 +54,31 @@
 }
 
 sub get_app_list {
-    my $app_list = `cd ../programs && make list`;
+    my $app_list = `cd $programs_dir && make list`;
     die "make list failed: $!\n" if $?;
 
     return split /\s+/, $app_list;
 }
 
-sub main {
-    -d $vs6_dir || die "VS6 directory not found: $vs6_dir\n";
-    -d $vsx_dir || die "VS2010 directory not found: $vsx_dir\n";
-
-    my $vs6_tpl = slurp_file( $vs6_template_file );
-    my $vsx_tpl = slurp_file( $vsx_template_file );
+sub gen_app_files {
+    my $vs6_tpl = slurp_file( $vs6_app_tpl_file );
+    my $vsx_tpl = slurp_file( $vsx_app_tpl_file );
 
     for my $app ( get_app_list() ) {
-        printf "$app\n";
         gen_app( $app, $vs6_tpl, $vs6_dir, $vs6_ext );
         gen_app( $app, $vsx_tpl, $vsx_dir, $vsx_ext );
     }
+}
+
+sub main {
+    if( ! check_dirs() ) {
+        chdir '..' or die;
+        check_dirs or die "Must but run from PolarSSL root or scripts dir\n";
+    }
+
+    print "Generating apps files: ";
+    gen_app_files();
+    print "done.\n";
 
     return 0;
 }
