Bekomme Verknüpfungen einfach nicht gelöscht

Post Reply
MarcW
Posts: 283
Joined: 09. Jan 2008, 08:57
Contact:

Bekomme Verknüpfungen einfach nicht gelöscht

Post by MarcW » 22. Sep 2010, 08:57

Hallo zusammen,

ich weiß, es gibt schon einige Threads zu diesem Thema, aber keiner der Lösungsansätze funktioniert.

Ich möchte bei einer Installation eines Programms (Matlab), 2 der 3 Verknüpfungen im Startmenü löschen.
Diese Verknüpfungen befinden sich unter "All Users".
So sieht mein Eintrag aus.

Code: Select all

[SET:Installation]
Cd ..
AddMeter 10
Call "setup.exe" -if "installer_input.txt"
del "%CommonStartMenu%\Programme\MATLAB\R2010b\Activate MATLAB R2010b.lnk"
del "%CommonStartMenu%\Programme\MATLAB\R2010b\Deactivate MATLAB R2010b.lnk"
If %ErrorLevel% <> "0" Then "SET:InstallationError" EndIf
Funktioniert nicht.
auch die Version mit call cmd /c del.......
oder auch mit %Allusers%\Startmenü\...........
Kein Erfolg.

In welchen Bereich der Setup.inf sollte ich die Einträge machen?

Gruß Marc

MPI.EVA
Posts: 170
Joined: 19. Jun 2008, 15:40
Contact:

Re: Bekomme Verknüpfungen einfach nicht gelöscht

Post by MPI.EVA » 22. Sep 2010, 09:09

Guten Morgen,

folgenden Hinweis aus der Setpdeu.hlp
CommonShellLinks=[0|1]

Ist der Wert 1, werden für Windows NT ab Version 4.0 die Standard-Verknüpfungen (Startmenü, Programme, Desktop und Autostart) im gemeinsamen Verzeichnis (unter Profiles\All Users) abgelegt, so dass jeder Benutzer darauf zugreifen kann. Ist der Wert 0, werden die benutzerspezifischen Verzeichnisse benutzt (unter Profiles\<Username>). Sollen gleichzeitig auch die jeweils anderen Verzeichnisse benutzt werden, kann man dies durch benutzen der vordefinierten Variablen %CommonStartMenu%, %CommonPrograms%, %CommonDesktop% und %CommonStartup% bzw. %UserStartMenu%, %UserPrograms%, %UserDesktop% und %UserStartup% erreichen. CommonShellLinks sollte nur dann auf 1 gesetzt werden, wenn die Anwendung von allen Benutzern gleichzeitig benutzt werden soll, ohne dass zwischen Benutzereinstellungen unterschieden werden muss. Dies könnte z.B. für Systemprogramme der Fall sein.
bei uns sind die Einstellungen zum loeschen von Links diese:

Code: Select all

[Application]
CommonShellLinks=1

[SET:Installation]
DelTree "%Programs%\Mozilla Firefox"
Del "%Desktop%\Mozilla Firefox.lnk"
Del "%AppData%\Microsoft\Internet Explorer\Quick Launch\Mozilla Firefox.lnk"

Marcus_B
Posts: 126
Joined: 15. Jul 2008, 13:02
Location: Berlin
Contact:

Re: Bekomme Verknüpfungen einfach nicht gelöscht

Post by Marcus_B » 22. Sep 2010, 10:20

Hallo,

das sollte funktionieren:

Del %Programs%\MATLAB\R2010b\Deactivate MATLAB R2010b.lnk

MarcW
Posts: 283
Joined: 09. Jan 2008, 08:57
Contact:

Re: Bekomme Verknüpfungen einfach nicht gelöscht

Post by MarcW » 22. Sep 2010, 12:00

Hallo,

funktioniert leider alles nicht.

In [Set:Installation] ist das aber schon die richtige Position oder muss ich es in eine andere Section eintragen?

MPI.EVA
Posts: 170
Joined: 19. Jun 2008, 15:40
Contact:

Re: Bekomme Verknüpfungen einfach nicht gelöscht

Post by MPI.EVA » 22. Sep 2010, 12:01

Die Section stimmt schon.
Versuch mal noch folgendes

Code: Select all

del "%CommonStartMenu%\MATLAB\R2010b\Activate MATLAB R2010b.lnk"
Du hattest etwas mit "Programme" in deinem Code stehen, aber da die Variablen ja sprachunabhaengig sind brauchst du keine extra Anweisung wie "Programme". Die Variable %CommonStartMenu% zeigt ja direkt in diesen Zweig.

Kannst du einmal deine Setup.inf posten?

MarcW
Posts: 283
Joined: 09. Jan 2008, 08:57
Contact:

Re: Bekomme Verknüpfungen einfach nicht gelöscht

Post by MarcW » 22. Sep 2010, 12:42

Klappt leider auch nicht.

Hier mal die Setup.inf

Code: Select all

[SetupInfo]
Author                  =Marc
CreationDate            =19.09.2010 14:30:00 
InventoryID             = 
Description             = 
Method                  = 
Tested on               = 
Dependencies            = 
Command line options    = 
Last Change             = 
Build                   = 

[VarDefInfo]
; <Variable>, <Type: 0=Computer 1=User>, <Allow NULL values: 0=No 1=Yes>

[Setup]
Version=10.5
ShowCaption=1
BlockInput=0

[Requirements]

[Application]
ProductName=Matlab
ProductNameShort=Matlab
Version=2010B
VersionDirSuffix=
Revision=1
ServiceRelease=0
DeveloperName=Mathworks
DeveloperNameShort=
SetupName=%ProductName% %Version% %SetupWizard%
Text1="%ProductName% %Version%",         Arial,           30, , 00FFFF, 4,    , LEFT BOLD ITALIC
Text2="%DeveloperName%",                 Arial,           24, , 00FFFF, 4,    , LEFT BOLD ITALIC
Text8="%Company%",                       Arial,           18, , 00FFFF, 4,  10, RIGHT BOLD ITALIC
;Text9="%InstallationFor% %WindowsUser%", Arial,           14, , 007F00, 4, -14, BOTTOM ITALIC LEFT
Text10="Paket erstellt von Marc Wenzl   ",    Arial,           12, , 00FFFF, 0,  -14, BOTTOM ITALIC
BackgroundColor=FF0000,000000
BackgroundPicture=
BackgroundSound=
Logo=
WizardPicture=
CopyDialogRect=0%, 0%, 100%, 100%, HCENTER VCENTER
PrecopyFiles=
UserKeyName=%DeveloperName%\%ProductName%
MachineKeyName=%DeveloperName%\%ProductName%\%Version%
UninstallKeyName=%DeveloperName% %ProductName% %Version%
UninstallDisplayName=%ProductName% %Version%
UninstallString=%ReinstallString% /U
ReinstallString="%CommonSetupDir%\Setup.exe" "%App%\%SetupInfDir%\Setup.inf"
ReinstallMode=1
HideUninstall=1
SrcDir=..
ApplicationDir=%ProgramFilesDir%\%ProductName%
SetupInfDir=Install
DataDir=%Personal%
DefaultUser=
DefaultCompany=
Prompts=
RunIfInstalled=
Readme=
Execute=
Expand=0
CopyExistingFiles=0
AskUninstallOld=0
AskLicence=0
AskInfo=0
AskFromCD=0
AskShared=1
AskMode=0
AskDir=0
AskDataDir=0
AskUser=0
UseUser=0
UseCompany=1
UseProductID=0
ProductIDLength=0
UseProductIDPerOption=0
UseCheckmarks=2
AutoIniFileMapping=0
ShellLinks=1
CommonShellLinks=1
CreateUnresolvableShellLinks=1
ShowShellFolder=
LicenceText=
InfoText=
RequirementsText=
UseStringSection=Strings:09
UseSysStringSection=SysStrings:09
PrintServer=
PrintEnvironment=
DateWarning=1
SizeWarning=1
Reboot=0
PreventExternalReboot=0
StartServicesOnReboot=0
CallTimeOut=3600
AbortAfterCallTimeOut=1
ReplaceRunOnce=0
DisableCancelButton=1
ShowEndMessage=0
EndMessage=%EndMessageDesc%
SetupExtDll=
SetupHookFunc=
ShowFullPath=0

[Admin]
AdminSetup=0
ApplicationDir=
AskDir=1
AskOptions=0
ClientSrcDir=Client
UninstallString=%ReinstallString% /U
ReinstallString="%Src%\..\..\..\..\User\Setup.exe" "%Src%\%SetupInfDir%\Setup.inf"

[Client]
ClientDir=
AskDir=0
AskOptions=1
Reboot=0
UseUninstallStringFromApplication=1
InstallAtLast=0

[Workstation]
AskOptions=0
AdminUninstallLink=0
AdminUninstallLinkName=%ProductName% %Version%
UserSetupLink=0
UserSetupLinkName=%ProductName% %Version%

[Strings:07]
Disk1=Diskette 1: Installationsdiskette
EndMessageDesc=Die Installation wurde erfolgreich abgeschlossen!
InstallationFor=Installation für:
InstallerDesc=Dienstprogramm zum Installieren einzelner Komponenten.
InstallerName=Installationsprogramm
ProductDesc=
SetupWizard=Installations-Assistent
Uninstallation=deinstallieren
ErrorText=Fehler
CallingText=beim Aufruf von

[Strings:09]
Disk1=Diskette 1: Installation disk
EndMessageDesc=Installation was completed successfully!
InstallationFor=Installation for:
InstallerDesc=Service program to install single components.
InstallerName=Setup program
ProductDesc=
SetupWizard=Installation Wizard
Uninstallation=Uninstallation
ErrorText=Error
CallingText=launching

[SysStrings:07]
Users=Benutzer

[SysStrings:09]
Users=Users

[Environment]
CommonSetupDir=%CommonFilesDir%\Setup%SetupBits%
V_MachineValuesPath=%SoftwareDepotServerName%\Values$\MachineValues\%DomainName%
V_UserValuesPath=%HKLM,"Software\matrix42\Software Depot","HomeServer"%\Values$\UserValues\%UserDomain%

; Maschinenabhängige Variablen
; machine dependent variables
;VM_<Variable>=%%%V_MachineValuesPath%\%ComputerName%.ini,%ComputerName%,<Variable>%%

; Userabhängige Variablen
; user dependent variables
;VU_<Variable>=%%%V_UserValuesPath%\%WindowsUser%.ini,%WindowsUser%,<Variable>%%

; !!! Setzen der entsprechenden ReplaceEnv Befehle für die Variablen im Abschnitt [Product] nicht vergessen!!!
; !!! Don't forget to set the appropriate ReplaceEnv instructions for the variables in the section [Product]!!!

[Prompts]

[Services]

[Processes]

[EventSources]

[Encryption]

[Disks]
1=%Disk1%

[UserKeyNames]

[Icons]
Product = %ProductNameShort%.ico, 0, 000000, ICON

[Options]
Installer = %InstallerName%, COPYALWAYS, Installer, "%InstallerDesc%"
Product   = %ProductName%,   COPYALWAYS, Product,   "%ProductDesc%"

[OptionDependencies]

[OptionGroups]

[Installer]
1:..\..\..\..\User\Setup.exe,      %CommonSetupDir%, OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP, 0
1:..\..\..\..\User\SetupDeu.chm,   %CommonSetupDir%, OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP, 0
1:..\..\..\..\User\SetupEnu.chm,   %CommonSetupDir%, OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP, 0
1:..\..\..\..\User\Mx42SynSem.dll, %System%,         OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP, 0
1:%SetupInfDir%\Setup.inf,                         , NORMAL,                                             0

[FileCheckMachine]
ReplaceEnv V_MachineValuesPath
If DoesFileExist ("%V_MachineValuesPath%\%ComputerName%.ini") == "0" Then "FileIsntThere" EndIf

[FileCheckClient]
ReplaceEnv V_UserValuesPath
If "%UserDomain%" <> "%ComputerName%" Then "CheckClientFile" EndIf

[CheckClientFile]
If DoesFileExist ("%V_UserValuesPath%\%WindowsUser%.ini") == "0" Then "FileIsntThere" EndIf

[FileIsntThere]
ErrorLogMsg <Error Text>
Abort

[Product]
;#FileCheckMachine, MACHINE
;#FileCheckClient, CLIENT

;ReplaceEnv <Variable>

#Set:Product
#Set:Installation, DONTDELETE
#Set:Deinstallation, DELETE
#Reg:OnUninstallProduct, DELETE
#Reg:Product
#Ini:Product
#Security:Product

[Set:Product]


[SET:Installation]
Cd ..

AddMeter 10
Call "setup.exe" -if "installer_input.txt"
AddMeter 50
del "%CommonStartMenu%\MATLAB\R2010b\Activate MATLAB R2010b.lnk"
del "%CommonStartMenu%\MATLAB\R2010b\\Deactivate MATLAB R2010b.lnk"

If %ErrorLevel% <> "0" Then "SET:InstallationError" EndIf

[SET:Deinstallation]

-Call "C:\Programme\Matlab\R2010b\uninstall\bin\win32\uninstall.exe" -inputfile "C:\Programme\Matlab\R2010b\uninstall\uninstaller_input.txt"
Del "c:\programme\matlab"

[SET:Deinstallation2]
-Call "C:\Programme\Matlab\R2010b\uninstall\uninstall.exe" -if "C:\Programme\Matlab\R2010b\uninstall\uninstaller.ini"


[Reg:OnUninstallProduct]

[Reg:Product]

[Ini:Product]

[Security:Product]

[Shell:Installer]

[Shell:Product]



[SET:InstallationError]
ErrorLogMsg %ErrorText% %ErrorLevel% %CallingText% setup.exe
Abort

[SET:DeInstallationError]
-Abort
-ErrorLogMsg %ErrorText% %ErrorLevel% %CallingText% setup.exe


adifl
Posts: 50
Joined: 02. Jun 2010, 09:46
Contact:

Re: Bekomme Verknüpfungen einfach nicht gelöscht

Post by adifl » 22. Sep 2010, 13:10

hi
Versuche es mal so:
Del "%CommonStartMenu%\FireFox.lnk" /f /q

User avatar
tgrosch
Posts: 602
Joined: 14. Nov 2007, 16:34
Location: Fulda
Contact:

Re: Bekomme Verknüpfungen einfach nicht gelöscht

Post by tgrosch » 22. Sep 2010, 14:13

Hallo,

bei mir funktioniert auch

Code: Select all

Del "%ALLUSERSPROFILE%\Startmenü\Zeiterfassung.lnk"
In der Zeile

Code: Select all

del "%CommonStartMenu%\MATLAB\R2010b\\Deactivate MATLAB R2010b.lnk"
ist ein Backslash zu viel drin.

Außerdem muss Du die Deinstallation ändern, die wird von unten nach oben abgearbeitet. Die kann in Deinem Beispiel nicht funktionieren, wenn Du erst das Verzeichnis löscht und dann die EXE darauf starten willst. Die killt er vorher...

EDIT: Du bist Dir aber sicher, dass die Verknüpfung unter All Users liegt und nicht im jeweiligen Userprofil?
Viele Grüße

Tobias
---
Empirum Echtsystem: v19 - 19.0.1 - Win 2012 R2 mit EPE 4.7.3 und UEM Agent 1905.1
Empirum Testsystem: v19 - 19.0.1 - Win 2012 R2 mit EPE 4.7.5 und UEM Agent 1906.1
Workplace Management Echtsystem: ServiceStore 9.1.0.2532 - Win 2012 R2
Workplace Management Testsystem: ServiceStore 9.1.0.2532 - Win 2016
MDM: Silverback 18.0.3.27
DB-Server: Win 2012 R2 mit SQL 2014

MarcW
Posts: 283
Joined: 09. Jan 2008, 08:57
Contact:

Re: Bekomme Verknüpfungen einfach nicht gelöscht

Post by MarcW » 27. Sep 2010, 12:54

Hallo nochmal,

leider funktionieren alle Tipps nicht.

Die Verknüpfungen sind definitiv in "All Users"

Walter_Schulz
Posts: 876
Joined: 17. Dec 2004, 12:29
Contact:

Re: Bekomme Verknüpfungen einfach nicht gelöscht

Post by Walter_Schulz » 27. Sep 2010, 13:08

callhidden cmd /c del "%CommonStartMenu%\Programme\MATLAB\R2010b\Activate MATLAB R2010b.lnk"
callhidden cmd /c del "%CommonStartMenu%\Programme\MATLAB\R2010b\Deactivate MATLAB R2010b.lnk"

MPI.EVA
Posts: 170
Joined: 19. Jun 2008, 15:40
Contact:

Re: Bekomme Verknüpfungen einfach nicht gelöscht

Post by MPI.EVA » 27. Sep 2010, 13:41

kannst du dir mit einem Echo einmal die Werte der beiden Variablen %Programs% und %CommonStartMenu% ausgeben lassen

LightTempler
Posts: 409
Joined: 23. Aug 2010, 13:47
Contact:

Re: Bekomme Verknüpfungen einfach nicht gelöscht

Post by LightTempler » 27. Sep 2010, 14:44

Wenn die Sektion [Set:Installation] wirklich ausgeführt, der Löschbefehl innerhalb der Sektion erreicht wird und Pfad/Linkname stimmt, dann sollte

del "%CommonPrograms%\Programme\MATLAB\R2010b\Activate MATLAB R2010b.*"

den Link zuverlässig löschen. (Test per Einzelschrittverarbeitung im Editor)

Wenn er nach Abarbeitung immer noch da ist, dann wird er erst nach dem Löschbefehl erstellt.

Walter_Schulz
Posts: 876
Joined: 17. Dec 2004, 12:29
Contact:

Re: Bekomme Verknüpfungen einfach nicht gelöscht

Post by Walter_Schulz » 27. Sep 2010, 14:51

Nicht boese gemeint, aber das gehoert in die Sparte "Theorie und Praxis" ...
Dass die Setup.exe Probleme mit dem Loeschen von Links hat, ist quasi Tradition. Die Suche wird sehr viele Threads zu diesem Thema zu Tage foerdern.

Ciao!
Walter Schulz

MarcW
Posts: 283
Joined: 09. Jan 2008, 08:57
Contact:

Re: Bekomme Verknüpfungen einfach nicht gelöscht

Post by MarcW » 27. Sep 2010, 15:15

MPI.EVA wrote:kannst du dir mit einem Echo einmal die Werte der beiden Variablen %Programs% und %CommonStartMenu% ausgeben lassen

Hi!

Sind beide nicht definiert!

User avatar
thahn
Posts: 487
Joined: 03. Jan 2007, 09:03
Location: KR - NRW
Contact:

Re: Bekomme Verknüpfungen einfach nicht gelöscht

Post by thahn » 27. Sep 2010, 17:20

Hallo,

schaut doch in die SetupDeu,was als Variablen definiert ist: :idea:

%CommonPrograms% -> All Users -> Startmenü -> Programme

%CommonStartMenu% -> All Users -> Startmenü

Code: Select all

[Set:Product]
Del "%CommonPrograms%\MATLAB\R2010b\Activate MATLAB R2010b.lnk"
muss normalerweise funktionieren ,-)

cYa
Thomas Hahn
Technical Account Manager

Matrix42 AG

Email: thomas.hahn[at]matrix42.com
http://www.matrix42.de
Skype: thahn42
ICQ: IO25IGO8

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of matrix42 AG.

Post Reply

Return to “Paketierung”

Who is online

Users browsing this forum: No registered users and 5 guests