May 17, 2008
09:21 AM
Does nobody has a solution for this? Kind regards, Peter
... View more
Mar 20, 2008
09:33 AM
Hello, sorry for my third reply here, but I need a solution for this. Does anyone has another idea where the problem could be located? What should I try? Kind regards, Peter
... View more
Mar 20, 2008
09:31 AM
Does nobody has a solution to my problem? It can't be that i'm the only one who needs to read values out of a xml file when updating the app?!? Kind regards, Peter
... View more
Mar 20, 2008
09:28 AM
DebbieL wrote: The hotfix in the following KB article may resolve that issue: Q112727 Debbie Landers Macrovision Corporation Yes...thanks for your answer! Kind regards, Peter
... View more
Mar 20, 2008
02:26 AM
Hello, My Update Manager shows not the whole page...see attached file... Does anyone has the same problem? Kind regards, Peter
... View more
Labels
- Labels:
-
InstallShield 2008
Mar 19, 2008
09:44 AM
short update: I've stored my string "\\\\deploymentServer\\system7" in a msi property (CUSTOM_DEPLOY_PATH) and get it into szDeployPath before my .net Call: MsiGetProperty(ISMSI_HANDLE, "CUSTOM_DEPLOY_PATH", szDeployPath, nLength); oObj.setDeploymentUrlDeploymentManifest(szDeploymentManifest, szDeployPath); -> the same problem... 😞 Any other ideas to solve my problem? Kind regards, Peter
... View more
Mar 19, 2008
08:12 AM
Hello, I have an XML System Search, which works fine in the first installation...but i need it in an "Update-Installation", when the program is already installed (resumed install). Then the ISXmlAppSearch seems not to work...log entry: Aktion gestartet um 13:52:54: ISXmlAppSearch. MSI (c) (8C:20) [13:52:54:378]: Action 'ISXmlAppSearch' is not permitted in a restricted engine. How can I read an xml-file in a resumed install? I think the problem is that "restricted engine" bryanwolf wrote in http://community.macrovision.com/showthread.php?t=170436&page=3&highlight=restricted+engine: This is as a result of a limitation in the way that the InstallScript engine has to invoke the MSI to run the UI sequence. Because the package is already installed, the InstallScript engine launches a restricted version of the MSI package that is only capable of running a specific subset of custom actions. The following custom actions are the only ones allowed to run during the UISequence: Set Property Set Directory Dialog -> So it seems that the xml-search seems not to work in a resumed install, but I need that...what can I do? Thanks for an answer, Peter
... View more
Labels
- Labels:
-
InstallShield 2008
Mar 18, 2008
12:18 PM
RobertDickau wrote: One possible starting point; in your first block of code, where you have: INSTALLDIR + "\xxx.application"; perhaps use this instead (^ instead of +, no leading backslash): INSTALLDIR ^ "xxx.application"; thanks for the quick answer...i've tried this: szDeploymentManifest = INSTALLDIR ^ "\Ch.ZeitAg.System7.Client.Smart.application"; -> the same problem...I think the problem is szDeployPath, not the other variable (path to the file) 😞 Kind regards, Peter
... View more
Mar 18, 2008
12:04 PM
Thanks a lot! This one: http://www.installsite.org/files/FileBrowseDlg6.zip helps me solve my problem! Kind regards, Peter RobertDickau wrote: The function prototype (UINT __stdcall BrowseForFile(MSIHANDLE hInstall)) indicates that the function expects to be called from the MSI sequences as an MSI DLL custom action, and not from a script. If you look at www.installsite.org > InstallScript Samples > User Interface, are there InstallScript-friendly versions of the file-browse dialog available?
... View more
Mar 18, 2008
11:31 AM
Hello, I have a problem when I use the String from a CtrlGetText-Function in the call of my .net DLL. Here's the code: Setup.rul: //Includes #include "DlgCertificate.rul" ... //Global variables STRING szDeployPath; ... function OnInstallFilesActionAfter() OBJECT oObj; begin szDeploymentManifest = INSTALLDIR + "\xxx.application"; szApplicationManifest = INSTALLDIR + "\xxx_xx_xx_xx_xx\xxx.manifest"; szApplicationManifestPath = INSTALLDIR + "\xxx_xx_xx_xx_xx"; set oObj = DotNetCoCreateObject(SUPPORTDIR ^ "InstallationSupport.dll", "InstallationSupport",""); oObj.setDeploymentUrlDeploymentManifest(szDeploymentManifest, szDeployPath); end; ... DlgConfiguration.rul: //Defines #define EDIT_DEPLOY_PATH 304 ... CtrlGetText(DLG_CONFIGURATION_DIALOG, EDIT_DEPLOY_PATH, szDeployPath); ... When I use the Variable "szDeployPath" filled by the CtrlGetText Action, my DLL writes the following to my manifest file (the DLL is used to write text in a deployment-manifest file [clickonce]): When I set the Variable myself before the call of the function: szDeployPath = "\\\\deploymentServer\\test"; oObj.setDeploymentUrlDeploymentManifest(szDeploymentManifest, szDeployPath); ...all works fine. When I use an .exe file instead of my .net DLL with the same code and call it in the command-line -> all works fine. So the .net code should be fine...anyway heres the code of my .net dll: using System; using System.IO; using Microsoft.Build.Tasks.Deployment.ManifestUtilities; using System.Security.Cryptography.X509Certificates; /// /// Summary description for clickOnceActions /// public class InstallationSupport { public void setDeploymentUrlDeploymentManifest(string deploymentManifest, string newDeploymentUrl) { // Open the deployment file (.application) DeployManifest deployManifest = ManifestReader.ReadManifest(deploymentManifest, false) as DeployManifest; // Set the URL to the new url: deployManifest.DeploymentUrl = newDeploymentUrl; // Create a new manifest file ManifestWriter.WriteManifest(deployManifest, deploymentManifest); return newDeploymentUrl; } ... } I've also tried to parse the variable with ParsePath ( szDeployPath, szDeployPath, PATH ); -> the same problem... When I look at the szDeployPath-Variable, first filled with CtrlGetText, second setted by myself, I don't see any differences: MessageBox("CtrlGetText: " + szDeployPath, INFORMATION); szDeployPath = "\\\\deploymentServer\\test"; MessageBox("Self setted: " + szDeployPath, INFORMATION); Sorry, a lot of text:) But i'm getting crazy on this issue, I hope someone can help me... Kind regards, Peter
... View more
Labels
- Labels:
-
InstallShield 2008
Mar 17, 2008
05:21 AM
Hello! I try to use the BrowseForFile DLL from http://www.installsite.org/files/iswi/BrowseForFile.zip I inserted the BrowseForFile.dll in the support files section. Then I do the following in the install-script: prototype BYREF STRING BrowseForFile.BrowseForFile(BYREF STRING, BYREF STRING); szFilter = "Certificate File (*.cer)\0*.cer\0"; UseDLL(SUPPORTDIR ^ "BrowseForFile.DLL"); BrowseForFile.BrowseForFile(szCertificatePath, szFilter); MessageBox( "Selected Path: " + szCertificatePath, INFORMATION ); UnUseDLL(SUPPORTDIR ^ "BrowseForFile.DLL"); I get the error 0x80040704 What's the problem, how can i prototype this function and call it after that? Here's the code of the dll: [CODE] //*********************************************************** //** This source code is provided "AS IS" with no warranties, //** and confers no rights. //*********************************************************** #include #include #include #include #include "msiquery.h" #include "strsafe.h" //*********************************************************** //** Call back function for EnumChildWindows() //**--------------------------------------------------------- //** Author: Kallely L Sajan //*********************************************************** BOOL CALLBACK EnumChildProc(HWND hwnd,LPARAM lParam) { TCHAR buf[100]; GetClassName( hwnd, (LPTSTR)&buf, 100 ); if ( _tcscmp ( buf, (_T("RichEdit20W")) ) == 0 ) { *(HWND*)lParam = hwnd; return FALSE; } } UINT __stdcall BrowseForFile(MSIHANDLE hInstall) { //MessageBox(NULL, "BrowseForFile", "BrowseForFile", MB_OK); //Set up storage for PATHTOFILE TCHAR szOriginalPath[MAX_PATH]; DWORD cchValue = sizeof(szOriginalPath)/sizeof(TCHAR); ZeroMemory(szOriginalPath, sizeof(TCHAR)*MAX_PATH); // Get PATHTOFILE MsiGetProperty(hInstall, TEXT("PATHTOFILE"), szOriginalPath, &cchValue); long lErrMsg = 0; OPENFILENAME ofn; ZeroMemory(&ofn, sizeof(ofn)); TCHAR szFilters[] = _T("All Files (*.*)\0*.*\0") _T("Text File (*.txt)\0*.txt\0"); // Initialize OPENFILENAME structure. ofn.lStructSize = sizeof(ofn); ofn.hwndOwner = GetForegroundWindow(); ofn.lpstrFile = szOriginalPath; ofn.nMaxFile = sizeof(szOriginalPath); ofn.lpstrFilter = szFilters; ofn.nFilterIndex = 1; ofn.lpstrFileTitle = NULL; ofn.nMaxFileTitle = 0; ofn.lpstrInitialDir = NULL; //ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST; //ofn.Flags = OFN_HIDEREADONLY; if (GetOpenFileName(&ofn)) { MsiSetProperty(hInstall, TEXT("PATHTOFILE"), szOriginalPath); //This next bit of code fixes a problem that occurs if the author is //using an Edit box for the path. For whatever reason, if a user //types into the edit box before browsing for a file or folder //the Edit box is not updated once the custom action completes. //Much of the following code was modified from //Kallely L Sajan's IsLicensedViewed article from InstallSite.org HWND hWnd; HWND hWndChild=NULL; hWnd = FindWindow(NULL, "Default - InstallShield Wizard"); if (hWnd) { EnumChildWindows( hWnd, EnumChildProc, (LPARAM)&hWndChild ); if ( hWndChild ) { TCHAR buf[100]; _tcscpy(buf, szOriginalPath); //the following call will not work if _UNICODE is defined in Prepocessor definitions SendMessage(hWndChild, WM_SETTEXT, 0, (LPARAM)szOriginalPath); } } } return ERROR_SUCCESS; }[/CODE] Kind regards, Peter
... View more
Labels
- Labels:
-
InstallShield 2008
Mar 17, 2008
02:04 AM
nikhilgupta wrote: Create a component for the DLL, mark the dll as key file and then in the components properties set Installer class to Yes. So finally i got it: http://community.macrovision.com/showthread.php?t=168533&highlight=CoCreateObjectDotNet kind regards, Peter
... View more
Latest posts by blood_on_ice
Subject | Views | Posted |
---|---|---|
974 | May 17, 2008 09:21 AM | |
1200 | May 17, 2008 09:17 AM | |
962 | May 17, 2008 09:16 AM | |
1200 | Mar 20, 2008 09:33 AM | |
974 | Mar 20, 2008 09:31 AM | |
622 | Mar 20, 2008 09:28 AM | |
2883 | Mar 20, 2008 02:26 AM | |
1200 | Mar 19, 2008 09:44 AM | |
12403 | Mar 19, 2008 08:12 AM | |
1200 | Mar 18, 2008 12:18 PM |
Activity Feed
- Posted Re: Search XML in a resumed install (restricted engine) on InstallShield Forum. May 17, 2008 09:21 AM
- Posted Re: CtrlGetText .Net Call Problem on InstallShield Forum. May 17, 2008 09:17 AM
- Posted Re: Standard Banner BMP Custom Dialog on InstallShield Forum. May 17, 2008 09:16 AM
- Posted Re: CtrlGetText .Net Call Problem on InstallShield Forum. Mar 20, 2008 09:33 AM
- Posted Re: Search XML in a resumed install (restricted engine) on InstallShield Forum. Mar 20, 2008 09:31 AM
- Posted Re: Update Manager Problem on InstallShield Forum. Mar 20, 2008 09:28 AM
- Posted Update Manager Problem on InstallShield Forum. Mar 20, 2008 02:26 AM
- Posted short update, problem not solved on InstallShield Forum. Mar 19, 2008 09:44 AM
- Posted Search XML in a resumed install (restricted engine) on InstallShield Forum. Mar 19, 2008 08:12 AM
- Posted Re: CtrlGetText .Net Call Problem on InstallShield Forum. Mar 18, 2008 12:18 PM
- Posted Thanks on InstallShield Forum. Mar 18, 2008 12:04 PM
- Posted CtrlGetText .Net Call Problem on InstallShield Forum. Mar 18, 2008 11:31 AM
- Posted Calling BrowseForFile DLL on InstallShield Forum. Mar 17, 2008 05:21 AM
- Posted Re: Standard Banner BMP Custom Dialog on InstallShield Forum. Mar 17, 2008 02:08 AM
- Posted Re: Calling C# Dll CustomAction on InstallShield Forum. Mar 17, 2008 02:04 AM
- Posted Preselect RadioButton on InstallShield Forum. Mar 14, 2008 11:09 AM
- Posted Standard Banner BMP Custom Dialog on InstallShield Forum. Mar 14, 2008 11:04 AM
- Posted Re: Calling C# Dll CustomAction on InstallShield Forum. Mar 12, 2008 08:23 AM
- Posted Calling C# Dll CustomAction on InstallShield Forum. Mar 12, 2008 02:58 AM