Olisiko kelläkään vinkkiä, kuinka saada ohjelman itsensä lisäämään Käynnistys-kansioon (C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup)? Eihän se sinänsä ole mikään ongelma, mutta minulla ainakin tössää aina, koska oikeudet eivät ole riittävät, vaikka olen kirjautunut järkän tunnuksilla.
Käytössä: Microsoft Visual Basic 2010 Express Edition
No jos se security elevation on ongelma, niin tossa aiheesta juttua
http://www.codeproject.com/KB/vista-security/UAC_Shield_for_Elevation.aspx
Toisaalta eikös kuvaamasi homma kuuluisi yleensä asennusohjelmalle.
jos click&play paketin teet (se expressin vakio publish muoto), niin et voi määrittää. Se asentuu käynnistä valikkoon siihen kansioon minkä olet projektiisi määrittänyt publisheriksi. (ellei sit publisher satu olemaan startup niminen, sitten en tiedä mitä tapahtuu ;D)
Et tietääkseni voi myöskään määrittää asennuskansiota, vaan se asentuu automaagisesti jonnekkin käyttäjän app2.0 hakemistoon piilotettuna.
käytä erillistä installeria.
Eikö automaattikäynnistystä varten kannattaisi mieluummin lisätä ohjelma rekisteriin?
HKEY_CURRENT_USER\Software\Microsoft\Windows\
(Käyttäjäkohtainen, ei muistaakseni vaadi admin-oikeuksia.)
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\
(Kaikille käyttäjille, vaatii admin-oikeudet.)
Moikka Petja!
jutska menee näin...
'COM-Referenssi:
'Windows Script Host Object Model (wshom.ocx)
Imports IWshRuntimeLibrary
Public Partial Class MainForm
Public Sub New()
Me.InitializeComponent()
End Sub
Sub MainForm_Load(sender As Object, e As EventArgs)
'Dim userID, passWord As String
'userID = Environment.UserName
'passWord = "********"
Dim lnkTargetPath As String = _
Environment.GetFolderPath( _
Environment.SpecialFolder.CommonStartup)
Dim appName As String = _
System.Reflection.Assembly. _
GetExecutingAssembly.GetName().Name
Dim lnkPath As String = lnkTargetPath + "\" + _
appName + ".lnk"
If Dir(lnkPath) = "" Then
Dim MyWsh As New WshShell
Dim shortCut As IWshRuntimeLibrary.IWshShortcut
shortCut = CType(MyWsh.CreateShortcut( _
lnkPath), IWshRuntimeLibrary.IWshShortcut)
With shortCut
.TargetPath = _
System.Reflection.Assembly.GetExecutingAssembly.Location()
.WindowStyle = 1
.Description = "Käynnistä " + appName
.WorkingDirectory = lnkTargetPath
.IconLocation = System.Reflection.Assembly. _
GetExecutingAssembly.Location() & ", 0"
'.Arguments = userID & ", " & passWord
.Save()
End With
shortCut = Nothing: MyWsh = Nothing
End If
End Sub
End ClassAihe on jo aika vanha, joten et voi enää vastata siihen.