Finding .exe path of Windows store app from its "ID" - windows-store-apps

I have an app ID e.g., "shell:AppsFolder\SpotifyAB.SpotifyMusic_zpdnekdrzrea0!Spotify". (Sorry, don't know / can't find what's name of this so I call it app ID.)
When this is executed, e.g., System.Diagnostics.Process.Start in .NET, the following .exe is started "C:\Program Files\WindowsApps\SpotifyAB.SpotifyMusic_1.140.508.0_x86__zpdnekdrzrea0\spotify.exe".
Is there a way to find .exe files based on 'app ID'? [For apps that are installed on the machine.)
I'm fine with any way - windows API, .NET way - whatever.
1 way is to monitor what processes start after that app ID is executed but that don't look like a solid design.
Thank you

Related

Adobe Air app signed with Cocomo certificate works on WIndows but not Mac

I have signed an Adobe AIR desktop app using a Cocomo Certificate. When I install on a Mac, the publisher is UNKNOWN. But the same .air file sent to a windows user is OK and installs as any signed app should.
Why should this happen? A certificate working on one OS, but not the other?
How can I investigate further? - to determine the cause.
Here are some more details:
The Certificate was obtained by a colleague on their PC. They converted it to a .pfx file, and sent me the .pfx, along with the password they used. I built the signed air app on my Mac.
My guess is: in addition to the main .p12/.pfx key for the AIR build process, you should try to use Mac Ceritificate (Developer ID Application: http://c2n.me/3qcrChL.png ). It helped me. The certificate might be got on the Apple Developers website: https://developer.apple.com (if you have a subscription).
In my case I was able to install .dmg on my MacBook Pro (where the .dmg file was created), but other users weren't able to install (when I send the file through the Internet or Skype).
Actually, the very process of signing is not clear. In my case I had to go through few steps:
1) Create .dmg (regular Adobe AIR build)
2) Deploy it
3) Sign the folder inside of it, something like dmg-folder-name/Contents/Resources/application-filename/Contents/MacOS/application-filename (where "dmg-folder-name" is sort of combination of the filename of the application + ".app", "application-name" is the filename of your application)
4) Sign the folder dmg-folder-name/Contents/MacOS/dmg-volume-name (where "dmg-volume-name" is something like "Install " + the filename of the application)
5) Sign the main dmg-folder
6) Create the new .dmg based on the signed files
It took a lot of time for me to figure out the correct solution. Also, please, pay attention to the order of steps, because it's IMPORTANT to sign the content of the main folder before you sign the main dmg-folder!
Also, I was able to find the topic on the Adobe website: https://forums.adobe.com/thread/1470113 . It has a lot of suggestions and some of them don't workd in my case, but some of them helped me to find a solution.

Adobe Air Android Debug

I am using Flash Builder 4.6 to develop an Android game using Air. When I debug on PC it works fine, however when I plug in my Android phone and attempt to debug, I get an error with the location of a db file.
This is what I presently have the location set to:
private static var DefaultDB:File = File.applicationDirectory.resolvePath("com/arakaron/Assets/Database/DefaultDb.db");
What / where should I be setting it to? It seems that when I debug the app, nothing gets transferred to the phone as I can't find any Arakaron resources on the phone.
Any help would be great.
Thanks.
You can't access the DB in this way.
Please use below code.
File.applicationStorageDirectory.resolvePath("DefaultDb.db");
Your db has to be within the application storage. If you want to have inside the folder then you define the folder name like below:
File.applicationStorageDirectory.resolvePath("db\DefaultDb.db");
The File.applicationDirectory on Android refers to your application and assets. On Android this is contained packaged in your APK and assets are decompressed in memory by the OS when you access them. You shouldn't use this directory unless you are reading assets from your package. Assets in this directory can only be accessed via a url and won't have a nativePath property.
Most likely you should use the File.applicationStorageDirectory or if the files can be safely deleted without breaking the operation of your application you should use the File.cacheDirectory.
You can read more on these locations: http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118666ade46-7fe4.html
If you package a database with your application you should use the File copy process to copy the file to one of the above locations before attempting to access it as a database.

Can't execute setup.py (Error 5 - Access Denied)

I ran into a problem creating a new project in Cocos2d-x 3.1.1 (or 3.0 - it happens at both versions).
When I'm running the build script in console (Windows 8 - console with admin privileges) an WindowsError pops up (check the image below).
http://i.imgur.com/Ixg4jEE.png
I can set up the COCOS_CONSOLE_ROOT manually, but it does not help with the Error 5.
I tried setting the 777 priviligies an all cocos2d-x folder and subfolders, but it does not help.
Anybody had the same problem? Any solutions out there?
On Windows you should not put manually installed programs and tools under C:\Program... (english: C:\Program Files) because that's a folder where only apps with a proper installer should go. Otherwise you will keep having permission issues. Apps are not allowed to write to that folder or any of its subfolders.
Since cocos2d-x isn't an app, it can't redirect its output to the proper AppplicationData folder as is mandated by the operating system. Not being able to write or modify the program folder's contents (except during installation) is a security feature in Windows that you can't (or shouldn't) bypass.
To fix this simply extract cocos2d-x in a folder that both you and apps have full read/write permission. Normally this would be in your Documents folder, but Desktop would also work and probably just any folder on a drive that you created, for instance C:\cocos2d-x.
Due to this line:
_winreg.SetValueEx() ...
the actual problem looks like to be with registry access, rather than with file permissions.
Make sure you actually running console as an admin, by:
searching cmd in Windows search, or just creating a shortcut to it to desktop
right clicking to cmd.exe and choosing "Run as administrator"
Make sure you don't have registry access block in any way: like blocking in group policies, some "security optimization" software and viruses and antiviruses.
Make sure your python version is 2.x. Python 3.x is not supported.
Anyway, this 'setup.py' step is optional for using cocos2d-x and you can live without running it at all.

How to monitor specific folder and save content of each log file in that folder to mysql database

We are developing a service for our QA staff.
The main goal is that a tester from our web interface be able to select from a github branch a dump for this particular machine and click "Deploy" button, then the rails app for testing will be deployed to Digital Ocean.
The feature I am now working on, is collecting deployment logs and displaying them through our web interface.
On DO droplet there is a "logs" folder which contains different log files which are populated during deployment:
migrations_result_#{machine_id}.log, bundle_result_#{machine_id}.log, etc.
Where #{machine_id} is the id of deployed machine on our service(it is not droplet id).
With the help of remote_syslog gem we are monitoring "logs" folders on each droplet and send them through udp to our main service server, and with the help of rsyslog we store them in a particular folder, let's say /var/log/deplogs/
So in /var/log/deplogs/ we have:
migrations_result_1.log, bundle_result_1.log,
migrations_result_2.log, bundle_result_2.log,
...
migrations_result_n.log, bundle_result_n.log
How do I need to monitor this folder and save contents of each log file to mysql database?
I need to achieve something like the following (Ruby code):
Machine.find(#{machine_id}).logs.create!(text: "migrations_result_#{machine_id}.log contents")
Rsyslog does not seems to be able to achieve this. Or am I missing something?
Any advices?
Thanks in advance, and sorry for my English, I hope you can get the idea.
First of all, congratulations! You are in front of a beautiful problem. My suggestion is to use divide and conquer.
Here are my considerations:
Put the relevant folder(s) under version control (for example, GIT)
Check via GIT commands the files that changed every X amount of time.
Also obtain the differences between the prior version of each file, and the new ones, so you can update your database parsing the new info.
Just in case, here are ways to call system commands from ruby.
Hope that helps,

Using mergJSON in a LiveCode Standalone - no functionality?

I'm using the mergJSON external in LiveCode and all is working fine in the IDE but not in the standalone application.
I use LiveCode 6.0.1 Community Edition for Mac OSX 10.8.3 with mergJSON (https://github.com/montegoulding/mergJSON)
When I create a standalone application (Mac) the mergJSON functionality doesn't seem to exist any more. There are no errors messages, simply that nothing works.
I have a button that grabs a piece of JSON data, converts it into a LiveCode array and populates a DataGrid. This works fine in the IDE. It does nothing when I press it in the standalone application.
Stand alone generator settings
LiveCode > Standalone Settings > Select Inclusions
should make sure that for the standalone application the mergJSON script libraries are visible, which they are. Currently I'm using "Search for required inclusions when saving the standalone..." option the Standalone Settings.
Anyone have any suggestions?
Thanks,
Steve
Have you followed this tutorial on setting up the user extensions folder for a third party extension. Note that the standalone builder will show an external if it's in the Externals folder but look for it in the Runtime folder so you need to add it there too.
http://lessons.runrev.com/s/lessons/m/4071/l/6347-how-to-install-3rd-party-externals-for-use-in-the-ide-and-standalone-builder
Also note that there's no Universal or PowerPC build so you need to build your app for x86 only.