http://expert.csdn.net/Expert/topic/1678/1678627.xml?temp=.5959436

解决方案 »

  1.   

    Imports System.ComponentModel
    Imports System.Configuration.Install
    Imports System.IO
    <RunInstaller(True)> Public Class Installer1
        Inherits System.Configuration.Install.Installer
        Overloads Function Install()
            Dim sw As StreamWriter        sw = New StreamWriter(File.Open(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + "\\BWJcare.url", FileMode.Create, FileAccess.Write))
            'sw = File.CreateText(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + "\p.txt")        sw.WriteLine("[InternetShortcut]")        sw.WriteLine("URL=http://localhost/BWJcare/login.aspx")        sw.WriteLine("modified=2329483928383")        sw.Flush()        sw.Close()
        End Function
    End Class
      

  2.   

    to : webdiyer这个文件是安装时自动执行其中的代码吗,安装后看不见桌面文件我式着把代码写到Application_start中,但是运行程序报无权访问的错误怎么办??
      

  3.   

    当然不能写在application_start中,那成了从asp.net应用程序向客户端写文件了,客户端不会给你那个权限。你上面的代码应该是正确的,文件肯定被创建了,但不在桌面上,而是在:
    C:\Documents and Settings\Default User\桌面
    这里呢?我也有点纳闷,Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)返回的怎么会是 Default User的桌面?我明明是以Administrator身份登录的,也许得再问问,怎么才能取到当前用户的桌面文件夹路径?实在不行还有个笨办法,把上面说的Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)方法返回的路径中的 Default User 用Replace方法替换成 Administrator ,这招怎么样!?:)
      

  4.   

    http://expert.csdn.net/Expert/topic/1678/1678627.xml?temp=.5959436
      

  5.   

    to webdiyer(陕北吴旗娃) C:\Documents and Settings\Default User\桌面
    这里也没有。
      

  6.   

    为什么写在Inherits System.Configuration.Install.Installer
        Overloads Function Install()
    就行。是安装时自动执行了吗
      

  7.   

    我写了一个打包的示例项目发给你了,也解决了那个桌面路径的问题,不知怎么回事,在asp.net中用Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)方法得到的是 Default User的桌面,但在安装程序中得到的是正确的Administrator的桌面。