Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: Ohjelma lisää itsensä Käynnistys-kansioon

Petja [28.12.2010 18:34:20]

#

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

Grez [28.12.2010 18:38:42]

#

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.

groovyb [28.12.2010 18:40:45]

#

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.

hohoo [28.12.2010 19:34:14]

#

Eikö automaattikäynnistystä varten kannattaisi mieluummin lisätä ohjelma rekisteriin?

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
(Käyttäjäkohtainen, ei muistaakseni vaadi admin-oikeuksia.)

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
(Kaikille käyttäjille, vaatii admin-oikeudet.)

neau33 [28.12.2010 23:57:22]

#

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 Class

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta