autorun code for metro application
Monkey Forums/Monkey Programming/autorun code for metro application
| ||
//auto install..
Execute "powershell Set-ExecutionPolicy unrestricted"
Local currentdir$=CurrentDir()
Local guid$=GetCfgVar( "PROJECT_GUID" )
Local cnid$=GetCfgVar( "PROJECT_PUBLISHER_ID" )
if platform.ToLower() = "win32" Then
platform = "x86"
Endif
If CASED_CONFIG.ToLower() = "debug" Then
currentdir = currentdir + "/AppPackages/monkey/monkey_1.0.0.0_" + platform + "_Debug_Test/Add-AppDevPackage.ps1"
Else
currentdir = currentdir + "/AppPackages/monkey/monkey_1.0.0.0_" + platform + "_Test/Add-AppDevPackage.ps1"
Endif
'first try uninstall
local uninstall$ = guid + "_1.0.0.0_" + platform + "__" + cnid
Execute "powershell get-appxpackage > installpakcage.txt"
local list$ = LoadString("installpakcage.txt")
local i = list.Find( guid + "_", 0 )
if ( i <> -1 ) then
local p = list.Find( "__", i )
if ( p <> -1 ) then
' found
local result$ = list[i..p]
Execute "powershell remove-appxpackage " + result + "__" + cnid, False
endif
endif
DeleteFile( "installpakcage.txt")
Execute "powershell " + currentdir + " -force"
Local cmd$ = guid + "_" + cnid + "!App"
Execute ROOTDIR + "/WinStoreBootup " + cmd,False
//WinStoreBootup code // Win32 Console project...
#include "stdafx.h"
#include <shlobj.h>
#include <stdio.h>
#include <shobjidl.h>
#include <objbase.h>
#include <atlbase.h>
#include <string>
HRESULT LaunchApp(const std::wstring& strAppUserModelId, PDWORD pdwProcessId)
{
CComPtr<IApplicationActivationManager> spAppActivationManager;
HRESULT hrResult = E_INVALIDARG;
if (!strAppUserModelId.empty())
{
// Instantiate IApplicationActivationManager
hrResult = CoCreateInstance(CLSID_ApplicationActivationManager,
NULL,
CLSCTX_LOCAL_SERVER,
IID_IApplicationActivationManager,
(LPVOID*)&spAppActivationManager);
if (SUCCEEDED(hrResult))
{
// This call ensures that the app is launched as the foreground window
hrResult = CoAllowSetForegroundWindow(spAppActivationManager, NULL);
// Launch the app
if (SUCCEEDED(hrResult))
{
hrResult = spAppActivationManager->ActivateApplication(strAppUserModelId.c_str(),
NULL,
AO_NONE,
pdwProcessId);
}
}
}
return hrResult;
}
int _tmain(int argc, _TCHAR* argv[])
{
HRESULT hrResult = S_OK;
if (SUCCEEDED(CoInitializeEx(NULL, COINIT_APARTMENTTHREADED)))
{
if (argc == 2)
{
DWORD dwProcessId = 0;
++argv;
hrResult = LaunchApp(*argv, &dwProcessId);
}
else
{
hrResult = E_INVALIDARG;
}
CoUninitialize();
}
return hrResult;
}
|