diff --git a/manifest b/manifest
index 14d86ffce0..0207e92d3e 100644
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\stypo.\s\sImprove\sinterim\sdebugging.
-D 2016-02-24T23:31:14.464
+C More\swork.\s\sInstall\sand\sbuild\ssteps\sare\snow\stested.
+D 2016-02-25T02:49:58.520
F Makefile.in 4e90dc1521879022aa9479268a4cd141d1771142
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
F Makefile.msc 28fc4ee02333996d31b3602b39eeb8e609a89ce4
@@ -1429,9 +1429,9 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh a98af506df552f3b3c0d904f94e4cdc4e1a6d598
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-F vsixtest/App.xaml 7af5a2a527aa5783e208c436c5227a21b1023cec
-F vsixtest/App.xaml.cpp c4aaab1774e771d2b6f662cbd247fd31df087a22
-F vsixtest/App.xaml.h f723ae437a141cd496adfccae517a6011dd95dfb
+F vsixtest/App.xaml b76d3b48860e7454775c47ea38ffea9c4abe3e85
+F vsixtest/App.xaml.cpp c465147f50871165c60ca16955219f6c5812d6d8
+F vsixtest/App.xaml.h 4a9768e2983d05600ad1e1c2f1b00a132967da9f
F vsixtest/Assets/LockScreenLogo.scale-200.png e820c9a3deb909197081b0bf3216c06e13905f0a
F vsixtest/Assets/SplashScreen.scale-200.png cab70988ca71bebec7bfeb3b6dbafe17b9ab0b4a
F vsixtest/Assets/Square150x150Logo.scale-200.png e17b40817db7a239fc239d83efcc951fb824e3ff
@@ -1439,18 +1439,18 @@ F vsixtest/Assets/Square44x44Logo.scale-200.png 2f166237094dea94d952d10b9eeae818
F vsixtest/Assets/Square44x44Logo.targetsize-24_altform-unplated.png 5f6a6d391b95a3061ccca6e6fdd6955ede63b4ed
F vsixtest/Assets/StoreLogo.png 0828b7257db74a4ecd5eeb6b7b4971f0fdc4d9d1
F vsixtest/Assets/Wide310x150Logo.scale-200.png 04ddefe5bc5f43ae12a7433f6f236ddab101ac42
-F vsixtest/MainPage.xaml b17ae614fc9aab5ee0068e16c9a3e3461d13b6d1
-F vsixtest/MainPage.xaml.cpp 66f81d6149d9a09de5c6c7846c6557cdd7a76b15
-F vsixtest/MainPage.xaml.h 5b8d65dc2b9e59e29bc0a6bca81211ff27ac830a
-F vsixtest/Package.appxmanifest 0535b2e6708c44ad45ed7fb1dfd4de5de351dd7a
-F vsixtest/pch.cpp 681cc12ddc215c95fe300ee8a3dde057fa2ec308
-F vsixtest/pch.h 9d2475a4f6d5c921b86c8f61060b6b04421f1010
-F vsixtest/vsixtest.sln 8950e044dd04a07046990d04bf77e60738e2d136
-F vsixtest/vsixtest.tcl e1f20568f5551ae58f395af6440a3f3b65368682
-F vsixtest/vsixtest.vcxproj 15407f0e35e914fecc65ed422ac08b28e52b3e4f
-F vsixtest/vsixtest.vcxproj.filters 443739cb985bb81620dc66f375a845b25debe116
+F vsixtest/MainPage.xaml 34f49897e3ca533a7e74506ba0759b66eebce151
+F vsixtest/MainPage.xaml.cpp 7f31fc6de751b64676c0924c97a5485d950a91d7
+F vsixtest/MainPage.xaml.h cc05cca10d50a003f6c6e4448b701cdd07f52f29
+F vsixtest/Package.appxmanifest 6b6db1eb7df3a315c5d681059754d5f0e0c47a93
+F vsixtest/pch.cpp cb823cfac36f1a39a7eb0acbd7e9a0b0de8f23af
+F vsixtest/pch.h 9cab7980f2ac4baa40807d8b5e52af32a21cf78c
+F vsixtest/vsixtest.sln 77cadbe4e96c1fe1bf51cd77de9e9b0a12ada547
+F vsixtest/vsixtest.tcl 63aff906d5b2635ade235599a45fcc95a7e296bc
+F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc w vsixtest/vsixtest.vcxproj
+F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P cce40a0b8ee792482fb7031113eb190ad316d01a
-R 599ba9dab9a4637ded30c8413d19596a
+P e0029bdf20df90abd8b81e5b08133866665b1c87
+R fd73554594351ac51b867a9ca61df57d
U mistachkin
-Z a097fb629010575b51e2f4b031c45e27
+Z 85ba38141fc589bcd3be4f139cce818c
diff --git a/manifest.uuid b/manifest.uuid
index 32d31d334d..6408a12e3d 100644
--- a/manifest.uuid
+++ b/manifest.uuid
@@ -1 +1 @@
-e0029bdf20df90abd8b81e5b08133866665b1c87
\ No newline at end of file
+0ab74373bd37d48d6afa7aecb67885afcd3a85b1
\ No newline at end of file
diff --git a/vsixtest/App.xaml b/vsixtest/App.xaml
index 7f023fe5d7..80889024ca 100644
--- a/vsixtest/App.xaml
+++ b/vsixtest/App.xaml
@@ -1,8 +1,8 @@
-
-
-
+
+
+
diff --git a/vsixtest/App.xaml.cpp b/vsixtest/App.xaml.cpp
index 5d60058f6b..da8f327fa0 100644
--- a/vsixtest/App.xaml.cpp
+++ b/vsixtest/App.xaml.cpp
@@ -1,120 +1,120 @@
-//
-// App.xaml.cpp
-// Implementation of the App class.
-//
-
-#include "pch.h"
-#include "MainPage.xaml.h"
-
-using namespace vsixtest;
-
-using namespace Platform;
-using namespace Windows::ApplicationModel;
-using namespace Windows::ApplicationModel::Activation;
-using namespace Windows::Foundation;
-using namespace Windows::Foundation::Collections;
-using namespace Windows::UI::Xaml;
-using namespace Windows::UI::Xaml::Controls;
-using namespace Windows::UI::Xaml::Controls::Primitives;
-using namespace Windows::UI::Xaml::Data;
-using namespace Windows::UI::Xaml::Input;
-using namespace Windows::UI::Xaml::Interop;
-using namespace Windows::UI::Xaml::Media;
-using namespace Windows::UI::Xaml::Navigation;
-
-///
-/// Initializes the singleton application object. This is the first line of authored code
-/// executed, and as such is the logical equivalent of main() or WinMain().
-///
-App::App()
-{
- InitializeComponent();
- Suspending += ref new SuspendingEventHandler(this, &App::OnSuspending);
-}
-
-///
-/// Invoked when the application is launched normally by the end user. Other entry points
-/// will be used such as when the application is launched to open a specific file.
-///
-/// Details about the launch request and process.
-void App::OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ e)
-{
-
-#if _DEBUG
- // Show graphics profiling information while debugging.
- if (IsDebuggerPresent())
- {
- // Display the current frame rate counters
- DebugSettings->EnableFrameRateCounter = true;
- }
-#endif
-
- auto rootFrame = dynamic_cast(Window::Current->Content);
-
- // Do not repeat app initialization when the Window already has content,
- // just ensure that the window is active
- if (rootFrame == nullptr)
- {
- // Create a Frame to act as the navigation context and associate it with
- // a SuspensionManager key
- rootFrame = ref new Frame();
-
- rootFrame->NavigationFailed += ref new Windows::UI::Xaml::Navigation::NavigationFailedEventHandler(this, &App::OnNavigationFailed);
-
- if (e->PreviousExecutionState == ApplicationExecutionState::Terminated)
- {
- // TODO: Restore the saved session state only when appropriate, scheduling the
- // final launch steps after the restore is complete
-
- }
-
- if (rootFrame->Content == nullptr)
- {
- // When the navigation stack isn't restored navigate to the first page,
- // configuring the new page by passing required information as a navigation
- // parameter
- rootFrame->Navigate(TypeName(MainPage::typeid), e->Arguments);
- }
- // Place the frame in the current Window
- Window::Current->Content = rootFrame;
- // Ensure the current window is active
- Window::Current->Activate();
- }
- else
- {
- if (rootFrame->Content == nullptr)
- {
- // When the navigation stack isn't restored navigate to the first page,
- // configuring the new page by passing required information as a navigation
- // parameter
- rootFrame->Navigate(TypeName(MainPage::typeid), e->Arguments);
- }
- // Ensure the current window is active
- Window::Current->Activate();
- }
-}
-
-///
-/// Invoked when application execution is being suspended. Application state is saved
-/// without knowing whether the application will be terminated or resumed with the contents
-/// of memory still intact.
-///
-/// The source of the suspend request.
-/// Details about the suspend request.
-void App::OnSuspending(Object^ sender, SuspendingEventArgs^ e)
-{
- (void) sender; // Unused parameter
- (void) e; // Unused parameter
-
- //TODO: Save application state and stop any background activity
-}
-
-///
-/// Invoked when Navigation to a certain page fails
-///
-/// The Frame which failed navigation
-/// Details about the navigation failure
-void App::OnNavigationFailed(Platform::Object ^sender, Windows::UI::Xaml::Navigation::NavigationFailedEventArgs ^e)
-{
- throw ref new FailureException("Failed to load Page " + e->SourcePageType.Name);
+//
+// App.xaml.cpp
+// Implementation of the App class.
+//
+
+#include "pch.h"
+#include "MainPage.xaml.h"
+
+using namespace vsixtest;
+
+using namespace Platform;
+using namespace Windows::ApplicationModel;
+using namespace Windows::ApplicationModel::Activation;
+using namespace Windows::Foundation;
+using namespace Windows::Foundation::Collections;
+using namespace Windows::UI::Xaml;
+using namespace Windows::UI::Xaml::Controls;
+using namespace Windows::UI::Xaml::Controls::Primitives;
+using namespace Windows::UI::Xaml::Data;
+using namespace Windows::UI::Xaml::Input;
+using namespace Windows::UI::Xaml::Interop;
+using namespace Windows::UI::Xaml::Media;
+using namespace Windows::UI::Xaml::Navigation;
+
+///
+/// Initializes the singleton application object. This is the first line of authored code
+/// executed, and as such is the logical equivalent of main() or WinMain().
+///
+App::App()
+{
+ InitializeComponent();
+ Suspending += ref new SuspendingEventHandler(this, &App::OnSuspending);
+}
+
+///
+/// Invoked when the application is launched normally by the end user. Other entry points
+/// will be used such as when the application is launched to open a specific file.
+///
+/// Details about the launch request and process.
+void App::OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ e)
+{
+
+#if _DEBUG
+ // Show graphics profiling information while debugging.
+ if (IsDebuggerPresent())
+ {
+ // Display the current frame rate counters
+ DebugSettings->EnableFrameRateCounter = true;
+ }
+#endif
+
+ auto rootFrame = dynamic_cast(Window::Current->Content);
+
+ // Do not repeat app initialization when the Window already has content,
+ // just ensure that the window is active
+ if (rootFrame == nullptr)
+ {
+ // Create a Frame to act as the navigation context and associate it with
+ // a SuspensionManager key
+ rootFrame = ref new Frame();
+
+ rootFrame->NavigationFailed += ref new Windows::UI::Xaml::Navigation::NavigationFailedEventHandler(this, &App::OnNavigationFailed);
+
+ if (e->PreviousExecutionState == ApplicationExecutionState::Terminated)
+ {
+ // TODO: Restore the saved session state only when appropriate, scheduling the
+ // final launch steps after the restore is complete
+
+ }
+
+ if (rootFrame->Content == nullptr)
+ {
+ // When the navigation stack isn't restored navigate to the first page,
+ // configuring the new page by passing required information as a navigation
+ // parameter
+ rootFrame->Navigate(TypeName(MainPage::typeid), e->Arguments);
+ }
+ // Place the frame in the current Window
+ Window::Current->Content = rootFrame;
+ // Ensure the current window is active
+ Window::Current->Activate();
+ }
+ else
+ {
+ if (rootFrame->Content == nullptr)
+ {
+ // When the navigation stack isn't restored navigate to the first page,
+ // configuring the new page by passing required information as a navigation
+ // parameter
+ rootFrame->Navigate(TypeName(MainPage::typeid), e->Arguments);
+ }
+ // Ensure the current window is active
+ Window::Current->Activate();
+ }
+}
+
+///
+/// Invoked when application execution is being suspended. Application state is saved
+/// without knowing whether the application will be terminated or resumed with the contents
+/// of memory still intact.
+///
+/// The source of the suspend request.
+/// Details about the suspend request.
+void App::OnSuspending(Object^ sender, SuspendingEventArgs^ e)
+{
+ (void) sender; // Unused parameter
+ (void) e; // Unused parameter
+
+ //TODO: Save application state and stop any background activity
+}
+
+///
+/// Invoked when Navigation to a certain page fails
+///
+/// The Frame which failed navigation
+/// Details about the navigation failure
+void App::OnNavigationFailed(Platform::Object ^sender, Windows::UI::Xaml::Navigation::NavigationFailedEventArgs ^e)
+{
+ throw ref new FailureException("Failed to load Page " + e->SourcePageType.Name);
}
\ No newline at end of file
diff --git a/vsixtest/App.xaml.h b/vsixtest/App.xaml.h
index 7322d11b9c..5fa8837d38 100644
--- a/vsixtest/App.xaml.h
+++ b/vsixtest/App.xaml.h
@@ -1,27 +1,27 @@
-//
-// App.xaml.h
-// Declaration of the App class.
-//
-
-#pragma once
-
-#include "App.g.h"
-
-namespace vsixtest
-{
- ///
- /// Provides application-specific behavior to supplement the default Application class.
- ///
- ref class App sealed
- {
- protected:
- virtual void OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ e) override;
-
- internal:
- App();
-
- private:
- void OnSuspending(Platform::Object^ sender, Windows::ApplicationModel::SuspendingEventArgs^ e);
- void OnNavigationFailed(Platform::Object ^sender, Windows::UI::Xaml::Navigation::NavigationFailedEventArgs ^e);
- };
-}
+//
+// App.xaml.h
+// Declaration of the App class.
+//
+
+#pragma once
+
+#include "App.g.h"
+
+namespace vsixtest
+{
+ ///
+ /// Provides application-specific behavior to supplement the default Application class.
+ ///
+ ref class App sealed
+ {
+ protected:
+ virtual void OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ e) override;
+
+ internal:
+ App();
+
+ private:
+ void OnSuspending(Platform::Object^ sender, Windows::ApplicationModel::SuspendingEventArgs^ e);
+ void OnNavigationFailed(Platform::Object ^sender, Windows::UI::Xaml::Navigation::NavigationFailedEventArgs ^e);
+ };
+}
diff --git a/vsixtest/MainPage.xaml b/vsixtest/MainPage.xaml
index 76724544e1..7472ad8626 100644
--- a/vsixtest/MainPage.xaml
+++ b/vsixtest/MainPage.xaml
@@ -1,13 +1,13 @@
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/vsixtest/MainPage.xaml.cpp b/vsixtest/MainPage.xaml.cpp
index f615f4d89e..e67dcb83b2 100644
--- a/vsixtest/MainPage.xaml.cpp
+++ b/vsixtest/MainPage.xaml.cpp
@@ -1,27 +1,53 @@
-//
-// MainPage.xaml.cpp
-// Implementation of the MainPage class.
-//
-
-#include "pch.h"
-#include "MainPage.xaml.h"
-
-using namespace vsixtest;
-
-using namespace Platform;
-using namespace Windows::Foundation;
-using namespace Windows::Foundation::Collections;
-using namespace Windows::UI::Xaml;
-using namespace Windows::UI::Xaml::Controls;
-using namespace Windows::UI::Xaml::Controls::Primitives;
-using namespace Windows::UI::Xaml::Data;
-using namespace Windows::UI::Xaml::Input;
-using namespace Windows::UI::Xaml::Media;
-using namespace Windows::UI::Xaml::Navigation;
-
-// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409
-
-MainPage::MainPage()
-{
- InitializeComponent();
-}
+//
+// MainPage.xaml.cpp
+// Implementation of the MainPage class.
+//
+
+#include "pch.h"
+#include "MainPage.xaml.h"
+#include "sqlite3.h"
+
+using namespace vsixtest;
+
+using namespace Platform;
+using namespace Windows::Foundation;
+using namespace Windows::Foundation::Collections;
+using namespace Windows::UI::Xaml;
+using namespace Windows::UI::Xaml::Controls;
+using namespace Windows::UI::Xaml::Controls::Primitives;
+using namespace Windows::UI::Xaml::Data;
+using namespace Windows::UI::Xaml::Input;
+using namespace Windows::UI::Xaml::Media;
+using namespace Windows::UI::Xaml::Navigation;
+
+// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409
+
+MainPage::MainPage()
+{
+ InitializeComponent();
+ UseSQLite();
+}
+
+void MainPage::UseSQLite(void)
+{
+ int rc = SQLITE_OK;
+ sqlite3 *pDb = nullptr;
+
+ rc = sqlite3_open_v2("test.db", &pDb,
+ SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, nullptr);
+
+ if (rc != SQLITE_OK)
+ throw ref new FailureException("Failed to open database.");
+
+ rc = sqlite3_exec(pDb, "VACUUM;", nullptr, nullptr, nullptr);
+
+ if (rc != SQLITE_OK)
+ throw ref new FailureException("Failed to vacuum database.");
+
+ rc = sqlite3_close(pDb);
+
+ if (rc != SQLITE_OK)
+ throw ref new FailureException("Failed to close database.");
+
+ pDb = nullptr;
+}
diff --git a/vsixtest/MainPage.xaml.h b/vsixtest/MainPage.xaml.h
index cf95007d17..ea327a3e4c 100644
--- a/vsixtest/MainPage.xaml.h
+++ b/vsixtest/MainPage.xaml.h
@@ -1,21 +1,22 @@
-//
-// MainPage.xaml.h
-// Declaration of the MainPage class.
-//
-
-#pragma once
-
-#include "MainPage.g.h"
-
-namespace vsixtest
-{
- ///
- /// An empty page that can be used on its own or navigated to within a Frame.
- ///
- public ref class MainPage sealed
- {
- public:
- MainPage();
-
- };
-}
+//
+// MainPage.xaml.h
+// Declaration of the MainPage class.
+//
+
+#pragma once
+
+#include "MainPage.g.h"
+
+namespace vsixtest
+{
+ ///
+ /// An empty page that can be used on its own or navigated to within a Frame.
+ ///
+ public ref class MainPage sealed
+ {
+ public:
+ MainPage();
+ void UseSQLite(void);
+
+ };
+}
diff --git a/vsixtest/Package.appxmanifest b/vsixtest/Package.appxmanifest
index 49e45cbc3e..106b3f1e41 100644
--- a/vsixtest/Package.appxmanifest
+++ b/vsixtest/Package.appxmanifest
@@ -1,49 +1,49 @@
-
-
-
-
-
-
-
-
-
- vsixtest
- mistachkin
- Assets\StoreLogo.png
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+ vsixtest
+ mistachkin
+ Assets\StoreLogo.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vsixtest/pch.cpp b/vsixtest/pch.cpp
index ef288d82ad..97b544ec11 100644
--- a/vsixtest/pch.cpp
+++ b/vsixtest/pch.cpp
@@ -1,6 +1,6 @@
-//
-// pch.cpp
-// Include the standard header and generate the precompiled header.
-//
-
-#include "pch.h"
+//
+// pch.cpp
+// Include the standard header and generate the precompiled header.
+//
+
+#include "pch.h"
diff --git a/vsixtest/pch.h b/vsixtest/pch.h
index e5006e81d3..b793236d02 100644
--- a/vsixtest/pch.h
+++ b/vsixtest/pch.h
@@ -1,11 +1,11 @@
-//
-// pch.h
-// Header for standard system include files.
-//
-
-#pragma once
-
-#include
-#include
-
-#include "App.xaml.h"
+//
+// pch.h
+// Header for standard system include files.
+//
+
+#pragma once
+
+#include
+#include
+
+#include "App.xaml.h"
diff --git a/vsixtest/vsixtest.sln b/vsixtest/vsixtest.sln
index bebec6355b..1ab6e064f9 100644
--- a/vsixtest/vsixtest.sln
+++ b/vsixtest/vsixtest.sln
@@ -1,40 +1,39 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 14
-VisualStudioVersion = 14.0.24720.0
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vsixtest", "vsixtest.vcxproj", "{60BB14A5-0871-4656-BC38-4F0958230F9A}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|ARM = Debug|ARM
- Debug|x64 = Debug|x64
- Debug|x86 = Debug|x86
- Release|ARM = Release|ARM
- Release|x64 = Release|x64
- Release|x86 = Release|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|ARM.ActiveCfg = Debug|ARM
- {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|ARM.Build.0 = Debug|ARM
- {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|ARM.Deploy.0 = Debug|ARM
- {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|x64.ActiveCfg = Debug|x64
- {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|x64.Build.0 = Debug|x64
- {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|x64.Deploy.0 = Debug|x64
- {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|x86.ActiveCfg = Debug|Win32
- {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|x86.Build.0 = Debug|Win32
- {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|x86.Deploy.0 = Debug|Win32
- {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|ARM.ActiveCfg = Release|ARM
- {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|ARM.Build.0 = Release|ARM
- {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|ARM.Deploy.0 = Release|ARM
- {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|x64.ActiveCfg = Release|x64
- {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|x64.Build.0 = Release|x64
- {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|x64.Deploy.0 = Release|x64
- {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|x86.ActiveCfg = Release|Win32
- {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|x86.Build.0 = Release|Win32
- {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|x86.Deploy.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vsixtest", "vsixtest.vcxproj", "{60BB14A5-0871-4656-BC38-4F0958230F9A}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|ARM = Debug|ARM
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|ARM = Release|ARM
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|ARM.ActiveCfg = Debug|ARM
+ {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|ARM.Build.0 = Debug|ARM
+ {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|ARM.Deploy.0 = Debug|ARM
+ {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|x64.ActiveCfg = Debug|x64
+ {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|x64.Build.0 = Debug|x64
+ {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|x64.Deploy.0 = Debug|x64
+ {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|x86.ActiveCfg = Debug|Win32
+ {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|x86.Build.0 = Debug|Win32
+ {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|x86.Deploy.0 = Debug|Win32
+ {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|ARM.ActiveCfg = Release|ARM
+ {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|ARM.Build.0 = Release|ARM
+ {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|ARM.Deploy.0 = Release|ARM
+ {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|x64.ActiveCfg = Release|x64
+ {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|x64.Build.0 = Release|x64
+ {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|x64.Deploy.0 = Release|x64
+ {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|x86.ActiveCfg = Release|Win32
+ {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|x86.Build.0 = Release|Win32
+ {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|x86.Deploy.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/vsixtest/vsixtest.tcl b/vsixtest/vsixtest.tcl
index 47357c155b..d25c51d9b6 100644
--- a/vsixtest/vsixtest.tcl
+++ b/vsixtest/vsixtest.tcl
@@ -13,10 +13,14 @@
# file. However, currently, the file must be compatible with both Visual
# Studio 2015 and the Universal Windows Platform.
#
-# 3. The temporary directory specified in the TEMP or TMP environment variables
+# 3. The "VERSION" file is assumed to exist in the parent directory of the
+# directory containing this script. It must contain a version number that
+# matches the VSIX file being tested.
+#
+# 4. The temporary directory specified in the TEMP or TMP environment variables
# must refer to an existing directory writable by the current user.
#
-# 4. The VS140COMNTOOLS environment variable must refer to the Visual Studio
+# 5. The VS140COMNTOOLS environment variable must refer to the Visual Studio
# 2015 common tools directory.
#
# USAGE
@@ -80,6 +84,35 @@ proc appendArgs { args } {
eval append result $args
}
+proc readFile { fileName } {
+ #
+ # NOTE: Reads and returns the entire contents of the specified file, which
+ # may contain binary data.
+ #
+ set file_id [open $fileName RDONLY]
+ fconfigure $file_id -encoding binary -translation binary
+ set result [read $file_id]
+ close $file_id
+ return $result
+}
+
+proc writeFile { fileName data } {
+ #
+ # NOTE: Writes the entire contents of the specified file, which may contain
+ # binary data.
+ #
+ set file_id [open $fileName {WRONLY CREAT TRUNC}]
+ fconfigure $file_id -encoding binary -translation binary
+ puts -nonewline $file_id $data
+ close $file_id
+ return ""
+}
+
+proc putsAndEval { command } {
+ catch {puts stdout $command}
+ return [uplevel 1 $command]
+}
+
#
# NOTE: This is the entry point for this script.
#
@@ -100,17 +133,32 @@ set argc [llength $argv]
if {$argc > 1} then {fail}
if {$argc == 1} then {
- set fileName [lindex $argv 0]
+ set vsixFileName [lindex $argv 0]
} else {
- set fileName [file join [file dirname $path] sqlite-UWP-output.vsix]
+ set vsixFileName [file join [file dirname $path] sqlite-UWP-output.vsix]
}
-if {[string length $fileName] == 0} then {
+if {[string length $vsixFileName] == 0} then {
fail "invalid VSIX file name"
}
-if {![file exists $fileName] || ![file isfile $fileName]} then {
- fail [appendArgs "VSIX file \"" $fileName "\" does not exist"]
+if {![file exists $vsixFileName] || ![file isfile $vsixFileName]} then {
+ fail [appendArgs "VSIX file \"" $vsixFileName "\" does not exist"]
+}
+
+set versionFileName [file join [file dirname $path] VERSION]
+
+if {![file exists $versionFileName] || ![file isfile $versionFileName]} then {
+ fail [appendArgs "Version file \"" $versionFileName "\" does not exist"]
+}
+
+set projectTemplateFileName [file join $path vsixtest.vcxproj.data]
+set projectFileName [file join $path vsixtest.vcxproj]
+
+if {![file exists $projectTemplateFileName] || \
+ ![file isfile $projectTemplateFileName]} then {
+ fail [appendArgs \
+ "Project template file \"" $projectTemplateFileName "\" does not exist"]
}
set envVarName VS140COMNTOOLS
@@ -164,18 +212,18 @@ if {[string length $temporaryDirectory] == 0 || \
}
set installLogFileName [appendArgs \
- [file rootname [file tail $fileName]] -install- [pid] .log]
+ [file rootname [file tail $vsixFileName]] -install- [pid] .log]
set buildLogFileName [appendArgs \
- [file rootname [file tail $fileName]] \
+ [file rootname [file tail $vsixFileName]] \
-build-%configuration%-%platform%- [pid] .log]
set uninstallLogFileName [appendArgs \
- [file rootname [file tail $fileName]] -uninstall- [pid] .log]
+ [file rootname [file tail $vsixFileName]] -uninstall- [pid] .log]
set commands(1) [list exec [file nativename $vsixInstaller] /quiet /norepair]
lappend commands(1) [appendArgs /logFile: $installLogFileName]
-lappend commands(1) [file nativename $fileName]
+lappend commands(1) [file nativename $vsixFileName]
set commands(2) [list exec [file nativename $msBuild]]
lappend commands(2) [file nativename [file join $path vsixtest.sln]]
@@ -192,46 +240,42 @@ set commands(3) [list exec [file nativename $vsixInstaller] /quiet /norepair]
lappend commands(3) [appendArgs /logFile: $uninstallLogFileName]
lappend commands(3) [appendArgs /uninstall:SQLite.UWP.2015]
-puts stdout [appendArgs \
- "Install log will be \"" [file nativename [file join \
- $temporaryDirectory $installLogFileName]] "\"."]
-
-puts stdout [appendArgs \
- "Build log will be \"" [file nativename [file join \
- $temporaryDirectory $buildLogFileName]] "\"."]
-
-puts stdout [appendArgs \
- "Uninstall log will be \"" [file nativename [file join \
- $temporaryDirectory $uninstallLogFileName]] "\"."]
-
-puts stdout [appendArgs \
- "First command is \"" $commands(1) "\"."]
-
-puts stdout [appendArgs \
- "Second command is \"" $commands(2) "\"."]
-
-puts stdout [appendArgs \
- "Third command is \"" $commands(3) "\"."]
+###############################################################################
if {1} then {
- # eval $commands(1)
+ puts stdout [appendArgs \
+ "Install log will be \"" [file nativename [file join \
+ $temporaryDirectory $installLogFileName]] "\"."]
- set platforms [list Win32 x64 ARM]
+ puts stdout [appendArgs \
+ "Build log will be \"" [file nativename [file join \
+ $temporaryDirectory $buildLogFileName]] "\"."]
+
+ puts stdout [appendArgs \
+ "Uninstall log will be \"" [file nativename [file join \
+ $temporaryDirectory $uninstallLogFileName]] "\"."]
+}
+
+###############################################################################
+
+if {1} then {
+ # putsAndEval $commands(1)
+
+ set versionNumber [string trim [readFile $versionFileName]]
+ set data [readFile $projectTemplateFileName]
+ set data [string map [list %versionNumber% $versionNumber] $data]
+ writeFile $projectFileName $data
+
+ set platforms [list x86 x64 ARM]
set configurations [list Debug Release]
foreach platform $platforms {
foreach configuration $configurations {
- puts stdout [string map [list \
+ putsAndEval [string map [list \
%platform% $platform %configuration% \
$configuration] $commands(2)]
-
- if {0} then {
- eval [string map [list \
- %platform% $platform %configuration% \
- $configuration] $commands(2)]
- }
}
}
- # eval $commands(3)
+ # putsAndEval $commands(3)
}
diff --git a/vsixtest/vsixtest.vcxproj b/vsixtest/vsixtest.vcxproj.data
similarity index 67%
rename from vsixtest/vsixtest.vcxproj
rename to vsixtest/vsixtest.vcxproj.data
index a7b4fd302b..a64584c3a2 100644
--- a/vsixtest/vsixtest.vcxproj
+++ b/vsixtest/vsixtest.vcxproj.data
@@ -1,213 +1,198 @@
-
-
-
- {60bb14a5-0871-4656-bc38-4f0958230f9a}
- vsixtest
- en-US
- 14.0
- true
- Windows Store
- 10.0.10586.0
- 10.0.10586.0
- 10.0
-
-
-
-
- Debug
- ARM
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Release
- ARM
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
-
- Application
- true
- v140
-
-
- Application
- true
- v140
-
-
- Application
- true
- v140
-
-
- Application
- false
- true
- v140
- true
-
-
- Application
- false
- true
- v140
- true
-
-
- Application
- false
- true
- v140
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- vsixtest_TemporaryKey.pfx
-
-
-
-
-
- /bigobj %(AdditionalOptions)
- 4453;28204
-
-
-
-
- /bigobj %(AdditionalOptions)
- 4453;28204
-
-
-
-
- /bigobj %(AdditionalOptions)
- 4453;28204
-
-
-
-
- /bigobj %(AdditionalOptions)
- 4453;28204
-
-
-
-
- /bigobj %(AdditionalOptions)
- 4453;28204
-
-
-
-
- /bigobj %(AdditionalOptions)
- 4453;28204
-
-
-
-
-
-
- App.xaml
-
-
- MainPage.xaml
-
-
-
-
-
- Designer
-
-
- Designer
-
-
-
-
-
- Designer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- App.xaml
-
-
- MainPage.xaml
-
-
-
- Create
- Create
- Create
- Create
- Create
- Create
-
-
-
-
-
-
-
-
-
+
+
+
+ {60bb14a5-0871-4656-bc38-4f0958230f9a}
+ vsixtest
+ en-US
+ 14.0
+ true
+ Windows Store
+ 10.0.10586.0
+ 10.0.10586.0
+ 10.0
+
+
+
+
+ Debug
+ ARM
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ ARM
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ Application
+ true
+ v140
+
+
+ Application
+ true
+ v140
+
+
+ Application
+ true
+ v140
+
+
+ Application
+ false
+ true
+ v140
+ true
+
+
+ Application
+ false
+ true
+ v140
+ true
+
+
+ Application
+ false
+ true
+ v140
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ vsixtest_TemporaryKey.pfx
+
+
+
+ /bigobj %(AdditionalOptions)
+ 4453;28204
+
+
+
+
+ /bigobj %(AdditionalOptions)
+ 4453;28204
+
+
+
+
+ /bigobj %(AdditionalOptions)
+ 4453;28204
+
+
+
+
+ /bigobj %(AdditionalOptions)
+ 4453;28204
+
+
+
+
+ /bigobj %(AdditionalOptions)
+ 4453;28204
+
+
+
+
+ /bigobj %(AdditionalOptions)
+ 4453;28204
+
+
+
+
+
+ App.xaml
+
+
+ MainPage.xaml
+
+
+
+
+ Designer
+
+
+ Designer
+
+
+
+
+ Designer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ App.xaml
+
+
+ MainPage.xaml
+
+
+ Create
+ Create
+ Create
+ Create
+ Create
+ Create
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vsixtest/vsixtest.vcxproj.filters b/vsixtest/vsixtest.vcxproj.filters
index a4a1a305a8..ac1dfca421 100644
--- a/vsixtest/vsixtest.vcxproj.filters
+++ b/vsixtest/vsixtest.vcxproj.filters
@@ -1,24 +1,57 @@
-
-
-
-
- 60bb14a5-0871-4656-bc38-4f0958230f9a
-
-
- e6271362-8f96-476d-907f-4da227b02435
- bmp;fbx;gif;jpg;jpeg;tga;tiff;tif;png
-
-
- Assets
-
-
- Assets
-
-
- Assets
-
-
- Assets
-
-
-
+
+
+
+
+ 60bb14a5-0871-4656-bc38-4f0958230f9a
+
+
+ e6271362-8f96-476d-907f-4da227b02435
+ bmp;fbx;gif;jpg;jpeg;tga;tiff;tif;png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Assets
+
+
+ Assets
+
+
+ Assets
+
+
+ Assets
+
+
+ Assets
+
+
+ Assets
+
+
+ Assets
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file