Well, if you add this function somewhere:
' Ensures hString ends in hSuffix
Public Function eSuffix(ByVal hString As String, ByVal hSuffix As String) As String
If StrComp(Right(hString, Len(hSuffix)), hSuffix, vbTextCompare) Then
eSuffix = hString & hSuffix
Else
eSuffix = hString
End If
End Function
Then the containing folder of the application is guaranteed to be:
The filename:
eSuffix(App.EXEName, ".exe")
And so the full path is obviously:
eSuffix(App.Path, "\") & eSuffix(App.EXEName, ".exe")
How are you checking to see if the shortcut already exists?