Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Dark GDK / Creating Your AppUp Application In DGDK

Author
Message
Morcilla
21
Years of Service
User Offline
Joined: 1st Dec 2002
Location: Spain
Posted: 12th Mar 2010 19:44 Edited at: 12th Mar 2010 19:46
Creating Your AppUp Application In DGDK
---------------------------------------

0. Download AppUpForDarkBasicPro.rar which contains "appupplugin.dll".

1. Download and install the Intel Atom Developer Program SDK.

2. Place the appupplugin.dll in the application folder.

3. Load the attached example project 'DGDK_AppUpExample.sln' (Don't forget to set it to 'release' mode, as no user options are attached), or use this code:



4. Change the following line, in the example project, to your own unique password string:

strcpy ( mypassword, "anythingiwanthere" );

5. Launch runATDS.bat found in Intel Atom Developer Program SDK\0.91\bin

6. Run the AppUpExample. It will display a value.

7. Comment the following line, it is not needed once you know your code:

dbPrint ( dbStr(myuniquevalue) ) ; dbWaitKey();

8. In the following line, replace the number 929 with the code you just saw on screen:

if (myuniquevalue == 929)

9. Now run the application again, it should say 'application is approved'.

10. At this point you have successfully integrated a DEBUG version of the AppUp security system into your DGDK application.

11. The next step is to obtain the GUID that uniquely identifies your application. For this you need to register on the Atom Developer website and create a new product entry on that system. Once complete, it will give you a GUID value which you will need for step 12.

12. Your GUID will resemble something like 0x32423432,0x32423432,0x32423432,0x32423432

13. To change your DEBUG session to a RELEASE session, you need to change the following line

myuniquevalue = approve_app ( (unsigned long)0, (unsigned long)0, (unsigned long)0, (unsigned long)0, mypassword );

and replace the 0,0,0,0 with the four parts of the GUID you have from step 12.

14. For example, the line should now look like:

myuniquevalue = approve_app ( (unsigned long)0x32423432, (unsigned long)0x32423432, (unsigned long)0x32423432, (unsigned long)0x32423432, mypassword );

15. Now when you run your application, it should fail with an authentication message. This is because your application is not running inside the AppUp client. It is this version of your application that you must submit through the Atom Developer site to get approved.

MSI Installer
-------------

Once you have finished your application and the release version of your AppUp authentication code has been integrated, you are ready to create your installer.

It is recommended you create an MSI installer to wrap your application and media in a deliverable ready for the Atom Developer website. Below are some tips to creating a good MSI installer for AppUp:

1. Use an off-the-shelf MSI installer maker such as Wise. These kind of products are reliable and sturdy, and will allow you to focus on application development instead of installer creation and tweaking.

2. Remember that the AppUp authentication code is dependent on some external system files, and the best way to assure that the target system has these files is to use Merge Modules inside your MSI installer. For example you will need to include merge modules for:

policy_9_0_Microsoft_VC90_MFC_x86
policy_9_0_Microsoft_VC90_CRT_x86
Microsoft_VC90_MFC_x86
Microsoft_VC90_CRT_x86

3. As DGDK applications are DirectX based (Octoboer 2006) you will also require your MSI Installer to silently install the above version of DirectX system files to the target PC. To do this, you can obtain the October 2006 REDIST files direct from the Microsoft website and copy the REDIST folder into your final installation files. From within your MSI installer, you can provide a command after the files have been installed to the target system to launch the "DXSETUP.EXE /silent" which will install DirectX silently.

4. Finally, it is highly recommended that you test your final MSI installer on a NetBook before submitting to the AppUp store for approval. Issues of resolution, performance, missing system files and other issues may arise and finding them early will save you weeks within the approval process.


Not tested until the last step yet.

Attachments

Login to view attachments
Marsh0
15
Years of Service
User Offline
Joined: 18th Mar 2009
Location:
Posted: 12th Mar 2010 20:07
Could you explain what appup is a bit more im confused. Is it for ipods or certain laptops? Sorry i dont know much about it.

Your signature has been erased by a mod - Please reduce it to 600x120 maximum size
Matty H
16
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 12th Mar 2010 20:14
Yeh, I had to google it, it does look pretty interesting.
Morcilla, do you have any ideas for a game or an application or are you currently developing something for this?

_Pauli_
AGK Developer
15
Years of Service
User Offline
Joined: 13th Aug 2009
Location: Germany
Posted: 12th Mar 2010 21:03
Nice guide, Morcilla!
Unfortunatly I have nothing good to submit right now
But anyways, I have a question:

Quote: "Use an off-the-shelf MSI installer maker such as Wise"


Are you sure? I just searched for Wise, and even the Express version costs about 450$!
( Wise @ Softpedia )

Is there a free installer solution around?

Now the plot thickens, the fps decreases, and the awesomeness goes through the roof.
Morcilla
21
Years of Service
User Offline
Joined: 1st Dec 2002
Location: Spain
Posted: 13th Mar 2010 10:52 Edited at: 15th Mar 2010 12:56
Quote: "Could you explain what appup is a bit more im confused. Is it for ipods or certain laptops?"

"appup" is the Intel software store in the internet. It is mainly focused in netbooks with Intel Atom processors.
That is, small laptops that can run Windows and execute shaders.
Standard resolution is 1024x600, and they range around 1~1.6Ghz in CPU speed.

Quote: "do you have any ideas for a game or an application or are you currently developing something for this?"

Well, I plan to adapt (reduce) my current project, and release 'MPL3D Solar System (Atom)'.
If I had more applications, I would submit them all. Anything small and polished can make it into the store and inmediately start giving little revenues.

Quote: "Unfortunatly I have nothing good to submit right now"

Well, there is an interesting contest at the moment, but this sales channel is now open and you can upload your games whenever you have them ready.

Quote: "Quote: "Use an off-the-shelf MSI installer maker such as Wise"

Are you sure? I just searched for Wise, and even the Express version costs about 450$!
( Wise @ Softpedia )

Is there a free installer solution around?"

Well, the guide above is taken directly from Lee's tip of the month, so that is his advice.
I guess that the msi creation must be much more steady and flexible with a paid tool, but it can be perfectly built directly with vs2008 (New project->Other project types->Setup and deployment->Setup wizard "Create a windows installer project with the aid of a wizard").

zapakitul
17
Years of Service
User Offline
Joined: 1st Mar 2007
Location: In my world
Posted: 14th Mar 2010 12:52
For an odd reason, iADP_ATDS.exe doesn't want to start... So there's no way of running the AppUpExample ...! I'm running windows 7 btw.
Niels Henriksen
20
Years of Service
User Offline
Joined: 27th Sep 2004
Location: Behind you breathing heavely
Posted: 14th Mar 2010 14:46
Quote: "Is there a free installer solution around?"


Inno Setup is free..

http://www.jrsoftware.org/isinfo.php

Niels Henriksen
www.tales-of-the-realms.com
if Microsoft can sell software with bugs, so can I.
Morcilla
21
Years of Service
User Offline
Joined: 1st Dec 2002
Location: Spain
Posted: 15th Mar 2010 12:47 Edited at: 15th Mar 2010 12:55
Quote: "For an odd reason, iADP_ATDS.exe doesn't want to start..."

Just make sure that you don't have the Intel App Store client installed.

[Edit: It seems there might be other reasons like your country:

Can't manage to start iADP_ATDS.exe on Windows 7 (Intel forum)]

Morcilla
21
Years of Service
User Offline
Joined: 1st Dec 2002
Location: Spain
Posted: 15th Mar 2010 16:29
Actually there is a little problem with calling 'appupplugin.dll'.

It seems both DBPro and DGDK programs using APPUPDLL.DLL, fail to properly exit.
They stay in the taskbar once the program has been finished, and windows says the usual 'This application has stop responding.'

This can be tested by just running APPUPEXAMPLE program that comes inside the APPUPDLL.DLL distribution (AppUpForDarkBasicPro.rar).

Now Lee says about this:
Quote: "In C++, you must use LoadLibrary to load the AppUpPlugin.DLL and then use CloseHandle after the authentication before you leave the program. I have successfully used this method in C++ to wrap the FPS Creator software for AppUp and it exist fine, and was approved by Intel."


The problem is, I don't see how 'CloseHandle' can be used.
Using 'CloseHandle' with a HINSTANCE variable raises an error. According to msdn:

Quote: "Remarks
The CloseHandle function closes handles to the following objects:

Access token
Communications device
Console input
Console screen buffer
Event
File
File mapping
I/O completion port
Job
Mailslot
Memory resource notification
Mutex
Named pipe
Pipe
Process
Semaphore
Thread
Transaction
Waitable timer"


Right way to unload a dll is using 'FreeLibrary', according to this msdn example:

Using Run-Time Dynamic Linking

FreeLibrary Function reference

The above code does call 'FreeLibrary' after calling the dll function.
However the problem persist, at least here.
Does anyone see what's the matter? Also if you can try the already DBPro compiled APPUPEXAMPLE program, and tell if it completely quits...

Morcilla
21
Years of Service
User Offline
Joined: 1st Dec 2002
Location: Spain
Posted: 20th Mar 2010 17:18
Please completely forget last post.

There is no problem when closing any applications.

Everything points to an interaction with the firewall being used (ZoneAlarm).

Project template published in the 1st post is the rightest way so far.

I'll let you know if I encounter any other problem thru the remaining steps.

Matty H
16
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 20th Mar 2010 18:12
Good news, I plan on making a game for this, keep us informed on your progress, thanks.

Morcilla
21
Years of Service
User Offline
Joined: 1st Dec 2002
Location: Spain
Posted: 29th Mar 2010 11:46 Edited at: 29th Mar 2010 11:53
Some useful links:

HOW TO: Creating your MSI installer using Visual Studio 2008

Reducing the DirectX Redistribution Size: http://msdn.microsoft.com/en-us/library/ee418267%28VS.85%29.aspx

Testing your Windows App for Submission

How to Submit an Application

Troubleshooting Application Validation failures

Mnemonix
21
Years of Service
User Offline
Joined: 2nd Dec 2002
Location: Skaro
Posted: 29th Mar 2010 12:02
Top notch info Morcilla, I managed to integrate this into my application in a matter of minutes

Your signature has been erased by a mod because it's larger than 600x120
Morcilla
21
Years of Service
User Offline
Joined: 1st Dec 2002
Location: Spain
Posted: 29th Mar 2010 17:55
Glad to hear that

Morcilla
21
Years of Service
User Offline
Joined: 1st Dec 2002
Location: Spain
Posted: 9th Apr 2010 18:03
New library available, along with documentation:

http://files.thegamecreators.com/AppUp/AppUpForDarkGDK.rar

It should be a good approach for those who want the functions ready-to-go.
Great contribution

Morcilla
21
Years of Service
User Offline
Joined: 1st Dec 2002
Location: Spain
Posted: 12th Apr 2010 22:29
Important update regarding stability issues:

http://forum.thegamecreators.com/?m=forum_view&t=166752&b=1&p=5

Login to post a reply

Server time is: 2024-11-20 01:42:19
Your offset time is: 2024-11-20 01:42:19