diff --git a/aegilib/include/aegilib/section_entry_dialogue.h b/aegilib/include/aegilib/section_entry_dialogue.h
index 2415684301fa0e59f89b97203cc3c6fd4182410d..6c96f4861190373a8302000299458d498750fa11 100644
--- a/aegilib/include/aegilib/section_entry_dialogue.h
+++ b/aegilib/include/aegilib/section_entry_dialogue.h
@@ -64,11 +64,11 @@ namespace Aegilib {
 		virtual bool HasMargins() const { return false; }
 
 		// Read accessors
-		virtual String GetText() const { ThrowUnsupported(); return L""; }
-		virtual Time GetStartTime() const { ThrowUnsupported(); return 0; }
-		virtual Time GetEndTime() const { ThrowUnsupported(); return 0; }
-		virtual int GetStartFrame() const { ThrowUnsupported(); return 0; }
-		virtual int GetEndFrame() const { ThrowUnsupported(); return 0; }
+		virtual String GetText() const { ThrowUnsupported(); }
+		virtual Time GetStartTime() const { ThrowUnsupported(); }
+		virtual Time GetEndTime() const { ThrowUnsupported(); }
+		virtual int GetStartFrame() const { ThrowUnsupported(); }
+		virtual int GetEndFrame() const { ThrowUnsupported(); }
 
 		// Write acessors
 		virtual void SetText(String text) { (void) text; ThrowUnsupported(); }
diff --git a/aegilib/src/text_file_reader.cpp b/aegilib/src/text_file_reader.cpp
index d221c044c1e17c75d360e8b2b724c2634b99fd23..ad5dee5449bc13bb97c30fa127dfcfa67a7b0b2a 100644
--- a/aegilib/src/text_file_reader.cpp
+++ b/aegilib/src/text_file_reader.cpp
@@ -148,14 +148,14 @@ Aegilib::String TextFileReader::ReadLineFromFile() {
 		//wxbuffer.Clear();
 		//if (buffer.length()) wxbuffer = wxString(buffer.c_str(),*conv);
 		char temp = 0;
-		std::string buffer;
+		std::string buff;
 		while (temp != '\n' && !file.Eof()) {
 			file.Read(&temp,1);
 			if (temp != '\r') {
-				buffer += temp;
+				buff += temp;
 			}
 		}
-		if (buffer.size()) wxbuffer = wxString(buffer.c_str(),*conv);
+		if (buff.size()) wxbuffer = wxString(buff.c_str(),*conv);
 	}
 
 	// Remove line breaks
diff --git a/aegisub/version.cpp b/aegisub/version.cpp
index e355847e48f240b52741bc1f169493c18cf9f984..3aaf3ad396fb4d95e614f8431d741e95eb1e5b3e 100644
--- a/aegisub/version.cpp
+++ b/aegisub/version.cpp
@@ -78,7 +78,7 @@ struct VersionInfoStruct {
 		wxString SCMStr, VersionStr;
 
 		// Update this whenever a new version is released
-		VersionNumber = _T("v2.1.1");
+		VersionNumber = _T("v2.1.2");
 #ifdef _DEBUG
 		IsDebug = true;
 #else
diff --git a/build/aegisub_vs2005/aegisub_vs2005.vcproj b/build/aegisub_vs2005/aegisub_vs2005.vcproj
index cfa4d72bb0a7117671c2434b63bc2910fc06d4b0..0bda8fd0f6f902b73aa0f4f7d485b3ccd6822f04 100644
--- a/build/aegisub_vs2005/aegisub_vs2005.vcproj
+++ b/build/aegisub_vs2005/aegisub_vs2005.vcproj
@@ -1579,6 +1579,14 @@
 				RelativePath="..\..\aegisub\keyframe.h"
 				>
 			</File>
+			<File
+				RelativePath="..\..\aegisub\lavc_keyframes.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\aegisub\lavc_keyframes.h"
+				>
+			</File>
 			<File
 				RelativePath="..\..\aegisub\video_box.cpp"
 				>
diff --git a/installer/aegisub2.iss b/installer/aegisub2.iss
index 8c653620d90c7e437826af78c047cbc416ddd28b..7a12084b0fb99fe454379fb4c43b7fe838ff3678 100644
--- a/installer/aegisub2.iss
+++ b/installer/aegisub2.iss
@@ -289,10 +289,10 @@ begin
 		  temp2 := SetupMessage(msgInstallingLabel);
 		  StringChangeEx(temp2,'[name]','{#MyAppName}',False);
 		  CustomPage := CreateOutputProgressPage(SetupMessage(msgWizardInstalling),temp2);
-		  CustomPage.SetText('Installing Visual C++ Runtimes... This might take a few minutes.','');
+		  CustomPage.SetText('Installing Visual C++ 2005 SP1 Runtimes... This might take a few minutes.','');
 		  CustomPage.Show();
 			ExtractTemporaryFile('vcredist_x86.exe');
-			if not Exec(ExpandConstant('{tmp}\vcredist_x86.exe'), '/qn', '', SW_SHOW, ewWaitUntilTerminated, ExecResult) then
+			if not Exec(ExpandConstant('{tmp}\vcredist_x86.exe'), '/q:a /c:"VCREDI~3.EXE /q:a /c:""msiexec /i vcredist.msi /qn"" "', '', SW_SHOW, ewWaitUntilTerminated, ExecResult) then
 			begin
 				MsgBox('Installation of runtime libraries failed. Aegisub will probably not work. The error was: ' + SysErrorMessage(ExecResult), mbInformation, MB_OK);
 			end;