This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: Need Updated Processes
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 02, 2008
05:50 PM
Need Updated Processes
There are two processes I need to put into place on my install package... I'm sure these are commonly done processes for installation packages...
MSDN has write-ups on both of them... but their implementation does not seem to work on InstallShield 2009 Premium...
Package Type: Basic MSI Project
Program: InstallShield 2009 Premium
Issues: Firewall Exceptions and Vista Game Explorer
Firewall Exceptions
http://msdn.microsoft.com/en-us/library/bb173455(VS.85).aspx
This MSDN article does still work with regards to the "Integrating using InstallShield InstallScript"... but the "Integrating into Windows Installer" does not... I do not know enough about InstallScript to be able to modify the working script code to work with a Basic MSI Project.
Any help would be greatly appreciated in this issue... Thanks.
Vista Game Explorer
http://msdn.microsoft.com/en-us/library/bb206359(VS.85).aspx
I have not been able to get this process to function correctly in any of the recommened Intergration types... it falls into the realm of not knowing enough about InstallShield Script language to modify the script language to work correctly on the Basic MSI Project.
Any help would be greatly appreciated in this second issue... Thanks.
MSDN has write-ups on both of them... but their implementation does not seem to work on InstallShield 2009 Premium...
Package Type: Basic MSI Project
Program: InstallShield 2009 Premium
Issues: Firewall Exceptions and Vista Game Explorer
Firewall Exceptions
http://msdn.microsoft.com/en-us/library/bb173455(VS.85).aspx
This MSDN article does still work with regards to the "Integrating using InstallShield InstallScript"... but the "Integrating into Windows Installer" does not... I do not know enough about InstallScript to be able to modify the working script code to work with a Basic MSI Project.
Any help would be greatly appreciated in this issue... Thanks.
Vista Game Explorer
http://msdn.microsoft.com/en-us/library/bb206359(VS.85).aspx
I have not been able to get this process to function correctly in any of the recommened Intergration types... it falls into the realm of not knowing enough about InstallShield Script language to modify the script language to work correctly on the Basic MSI Project.
Any help would be greatly appreciated in this second issue... Thanks.
(6) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 03, 2008
06:22 PM
24hr bump... :cool:
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 08, 2008
06:42 PM
Okay... got the Firewall Exception to work...
Only have the Windows Vista Game Explorer one to work on...
I have the following Install Script....
[CODE]
typedef GUID
begin
LONG Data1;
SHORT Data2;
SHORT Data3;
CHAR Data4(8);
end;
prototype LONG GameuxInstallHelper.AddToGameExplorerW( WSTRING, WSTRING, NUMBER, GUID POINTER );
prototype LONG GameuxInstallHelper.RemoveFromGameExplorer( GUID POINTER );
prototype LONG GameuxInstallHelper.RetrieveGUIDForApplicationW( WSTRING, GUID POINTER );
prototype LONG GameuxInstallHelper.GenerateGUID( GUID POINTER );
prototype LONG GameuxInstallHelper.CreateTaskW( NUMBER, GUID POINTER, NUMBER, NUMBER, WSTRING, WSTRING, WSTRING );
prototype LONG GameuxInstallHelper.RemoveTasks( GUID POINTER );
prototype LONG GameuxInstallHelper.SetupRichSavedGamesW( WSTRING, WSTRING, WSTRING );
prototype LONG GameuxInstallHelper.RemoveRichSavedGamesW( WSTRING );
function OnMoved()
WSTRING gdfbin[256];
WSTRING path[256];
NUMBER scope;
NUMBER supportTask;
NUMBER playTask;
GUID guid;
GUID POINTER pGuid;
begin
if !MAINTENANCE then
UseDLL( TARGETDIR ^ "GameuxInstallHelper.dll" );
UseDLL( WINSYSDIR ^ "OLE32.dll" );
path = TARGETDIR;
gdfbin = TARGETDIR ^ "bin\\ExampleGame.exe"; // TODO: Change this to point to binary containing the GDF
pGuid = &guid;
playTask = 0;
supportTask = 1;
if ALLUSERS == 1 then
scope = 3;
else
scope = 2;
endif;
GameuxInstallHelper.GenerateGUID( pGuid );
GameuxInstallHelper.AddToGameExplorerW( gdfbin, path, scope, pGuid );
GameuxInstallHelper.CreateTaskW( scope, pGuid, playTask, 0, "Play", gdfbin, "" );
UnUseDLL( TARGETDIR ^ "GameuxInstallHelper.dll" );
UnUseDLL( WINSYSDIR ^ "OLE32.dll" );
endif;
end;
[/CODE]
How do I change this to a Custom Action?? Where do I put it in the process flow (I'm assuming AFTER Installed Files...)?? This should be a Deferred action I believe...
Only have the Windows Vista Game Explorer one to work on...
I have the following Install Script....
[CODE]
typedef GUID
begin
LONG Data1;
SHORT Data2;
SHORT Data3;
CHAR Data4(8);
end;
prototype LONG GameuxInstallHelper.AddToGameExplorerW( WSTRING, WSTRING, NUMBER, GUID POINTER );
prototype LONG GameuxInstallHelper.RemoveFromGameExplorer( GUID POINTER );
prototype LONG GameuxInstallHelper.RetrieveGUIDForApplicationW( WSTRING, GUID POINTER );
prototype LONG GameuxInstallHelper.GenerateGUID( GUID POINTER );
prototype LONG GameuxInstallHelper.CreateTaskW( NUMBER, GUID POINTER, NUMBER, NUMBER, WSTRING, WSTRING, WSTRING );
prototype LONG GameuxInstallHelper.RemoveTasks( GUID POINTER );
prototype LONG GameuxInstallHelper.SetupRichSavedGamesW( WSTRING, WSTRING, WSTRING );
prototype LONG GameuxInstallHelper.RemoveRichSavedGamesW( WSTRING );
function OnMoved()
WSTRING gdfbin[256];
WSTRING path[256];
NUMBER scope;
NUMBER supportTask;
NUMBER playTask;
GUID guid;
GUID POINTER pGuid;
begin
if !MAINTENANCE then
UseDLL( TARGETDIR ^ "GameuxInstallHelper.dll" );
UseDLL( WINSYSDIR ^ "OLE32.dll" );
path = TARGETDIR;
gdfbin = TARGETDIR ^ "bin\\ExampleGame.exe"; // TODO: Change this to point to binary containing the GDF
pGuid = &guid;
playTask = 0;
supportTask = 1;
if ALLUSERS == 1 then
scope = 3;
else
scope = 2;
endif;
GameuxInstallHelper.GenerateGUID( pGuid );
GameuxInstallHelper.AddToGameExplorerW( gdfbin, path, scope, pGuid );
GameuxInstallHelper.CreateTaskW( scope, pGuid, playTask, 0, "Play", gdfbin, "" );
UnUseDLL( TARGETDIR ^ "GameuxInstallHelper.dll" );
UnUseDLL( WINSYSDIR ^ "OLE32.dll" );
endif;
end;
[/CODE]
How do I change this to a Custom Action?? Where do I put it in the process flow (I'm assuming AFTER Installed Files...)?? This should be a Deferred action I believe...
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 08, 2008
08:41 PM
To do it right, you'll need several custom actions and a custom table. Your table will need several columns to describe the possible game entries.
Then you'll have an immeadiate CA that queries the table, evaluates conditions and properties ( such as ALLUSERS ) and formats several custom action data properties for your deferred CAs to consume. Your deferred CAs ( rollback, install, uninstall ) will read these properties and do the heavy work of calling the APIs you document.
BTW, you might want to consider checking out WiX for this:
http://www.joyofsetup.com/2008/04/22/new-wix-feature-gaming-extension/
You could make a merge module project in WiX and then consume it with InstallShield and probably simplify the whole process.
Then you'll have an immeadiate CA that queries the table, evaluates conditions and properties ( such as ALLUSERS ) and formats several custom action data properties for your deferred CAs to consume. Your deferred CAs ( rollback, install, uninstall ) will read these properties and do the heavy work of calling the APIs you document.
BTW, you might want to consider checking out WiX for this:
http://www.joyofsetup.com/2008/04/22/new-wix-feature-gaming-extension/
You could make a merge module project in WiX and then consume it with InstallShield and probably simplify the whole process.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 10, 2008
04:23 PM
Thanks for the advice Chris... I created a quick simple WiX Merge Module... finally got it to build and create a MSM file...
But... it's not working... :confused:
Not really looking for help in regard to getting it to working... I am SO ready to PUNT on this thing...
Why it's not simply an option somewhere on the latest Windows Instarller 4.5 is a mystery to me....
But... it's not working... :confused:
xmlns:gaming="http://schemas.microsoft.com/wix/GamingExtension">
Not really looking for help in regard to getting it to working... I am SO ready to PUNT on this thing...
Why it's not simply an option somewhere on the latest Windows Instarller 4.5 is a mystery to me....
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 10, 2008
05:30 PM
So add the merge module to a feature and do a right click | properties and associate the merge module to INSTALLDIR.
Build it and test. Do you get the expected result?
Ya, it would be nice if the Windows Installer team would get off their collective ass and extend the functionality of the SDK. They seem perfectly content ( or simply scared to make code changes ) to allow the tools vendors to extend with quasi-standard-action custom actions instead of baking it in native.
Not a very popular opinion but it's the truth.
Build it and test. Do you get the expected result?
Ya, it would be nice if the Windows Installer team would get off their collective ass and extend the functionality of the SDK. They seem perfectly content ( or simply scared to make code changes ) to allow the tools vendors to extend with quasi-standard-action custom actions instead of baking it in native.
Not a very popular opinion but it's the truth.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 14, 2010
01:23 PM
so there is not necesary embed a GDF file into a resource of binary to do this?, only i need to put some custom actions and properties table???
I only have an executable and CA inside this...
I only have an executable and CA inside this...