Hallo,
ich würde gerne das Maintenance Setup ausschalten. Meine Anwendung soll beim ersten Aufruf von Setup installiert werden und danach höchstens noch deinstalliert werden. Kann man die Auswahlmöglichkeiten ändern und reparieren, die das Setup zur Verfügung stellt, irgendwie ausschalten?
Noch eine Frage, die vielleicht in eine ähnliche Richtung geht: Wie kann man bei der Installation eine Verknüpfung zum direkten Deinstallieren zum Startmenü hinzufügen?
Gruß,
Torsten
This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Maintanance Setup ausschalten
Started by
Torsten
, Dec 12 2002 17:13
2 replies to this topic
Posted 19 December 2002 - 14:22
Das OnMaintenance Event abfangen und selbst ausprogrammierten -> nur Deinstallationsroutine aufrufen bzw. noch kurz nachfragen ob wirklich deinstalliert werden soll AskYesNo...
Posted 05 February 2003 - 08:42
Zitat |
Wie kann man bei der Installation eine Verknüpfung zum direkten Deinstallieren zum Startmenü hinzufügen? |
Eine Deinstallations-Verknüpfung kann man nur über das Script dem Startmenü hinzufügen. Mit der Funktion "SetupInstallLink" mache ich immer meine Deinstallations-Verknüpfungen.
Code |
function SetupInstallLink () STRING szProgramFolder, szItemName, szCommandLine, szWorkingDir, szIconPath; STRING szShortCutKey, szProgram, szParam; NUMBER nIcon, nFlag; STRING szKey,szEntry; NUMBER nSize, nType, nReturnCode; NUMBER nRegEntryType; STRING szValue, szIsData; begin RegDBSetDefaultRoot (HKEY_LOCAL_MACHINE); szKey ="SOFTWARE"^"Microsoft"^"Windows"^"CurrentVersion"^"Uninstall"^PRODUCT_GUID; szEntry = "UninstallString"; if (RegDBGetKeyValueEx (szKey, szEntry, nRegEntryType, szValue, nSize ) < 0) then MessageBox ("Kann Verknüpfung mit <Uninstall> nicht erstellen",SEVERE); else SdSelectFolder( "" , "" , SHELL_OBJECT_FOLDER ); szProgramFolder = SHELL_OBJECT_FOLDER; szItemName = @UNINSTAL; szCommandLine = szValue; szWorkingDir = ""; szIconPath = "SHELL32.dll"; nIcon = 64; szShortCutKey = ""; nFlag = REPLACE; if ( Is(USER_ADMINISTRATOR,szIsData) == TRUE ) then // Bei Admin unter "Allgemein" installierten: nType = COMMON; else // Nicht Admin, also unter "Persönlich" installieren: nType = PERSONAL; endif; ProgDefGroupType(nType); //Deinstallation eintragen: nReturnCode = AddFolderIcon(szProgramFolder, szItemName, szCommandLine, szWorkingDir, szIconPath, nIcon, szShortCutKey, nFlag); //Signaturaufruf eintragen: szItemName = @PRODUCT_KEY; szCommandLine = TARGETDIR + "\\*****.exe"; szWorkingDir = TARGETDIR; szIconPath = TARGETDIR + "\\*****.exe"; nIcon = 0; nReturnCode = AddFolderIcon(szProgramFolder, szItemName, szCommandLine, szWorkingDir, szIconPath, nIcon, szShortCutKey, nFlag); // Write now SetupPath to MY Registry szKey="SOFTWARE"^ @COMPANY_NAME ^ @PRODUCT_KEY; if (RegDBSetKeyValueEx (szKey, "Setup" , REGDB_STRING,szCommandLine,-1) <0) then MessageBox("Hinzufügen der Setupzeichenkette ist fehlgeschlagen.", SEVERE); endif; endif; end; |
Ich hoffe die Funktion hilft Dir!