diff --git a/src/sbbs3/textgen.c b/src/sbbs3/textgen.c
index 460b1fe6e8e1b7cd23d74e82ab00be7fe1ecb274..4eaa6a74cc956a78299ea9666aefbf9b6fe89644 100644
--- a/src/sbbs3/textgen.c
+++ b/src/sbbs3/textgen.c
@@ -167,7 +167,10 @@ int main(int argc, char **argv)
 	FILE			*text_js;
 	FILE			*text_defaults_c;
 
-	p = get_ctrl_dir(/* warn: */TRUE);
+	if(argc > 1)
+		p = argv[1];
+	else
+		p = get_ctrl_dir(/* warn: */TRUE);
 	SAFEPRINTF(path,"%s/text.dat",p);
 	if((text_dat=fopen(path,"r"))==NULL) {
 		perror(path);
@@ -191,8 +194,12 @@ int main(int argc, char **argv)
 	fputs("\n",text_h);
 	fputs("enum {\n",text_h);
 
-	if((p=getenv("SBBSEXEC"))==NULL)
-		p="/sbbs/exec";
+	if(argc > 2)
+		p = argv[2];
+	else
+		p = getenv("SBBSEXEC");
+	if(p==NULL)
+		p = "/sbbs/exec";
 	sprintf(path,"%s/load/text.js",p);
 	if((text_js=fopen(path, "w"))==NULL) {
 		perror(path);
diff --git a/src/sbbs3/textgen.vcxproj b/src/sbbs3/textgen.vcxproj
index 91c125b6c7b34e4bcdba720b3e1ff2f51cd50bdb..ca934051992391d8e7534f6afb9e8eb9cb40bb41 100644
--- a/src/sbbs3/textgen.vcxproj
+++ b/src/sbbs3/textgen.vcxproj
@@ -151,7 +151,7 @@
       </Command>
     </PreBuildEvent>
     <PostBuildEvent>
-      <Command>$(OutputPath)textgen</Command>
+      <Command>$(OutputPath)textgen ..\..\ctrl ..\..\exec</Command>
     </PostBuildEvent>
   </ItemDefinitionGroup>
   <ItemGroup>