/build/static/layout/Breadcrumb_cap_w.png

app info for checking

For copying files from one location to another location using robocopy

Filecopy.vbs


On Error Resume Next
Set oShell=WScript.CreateObject("WScript.Shell")
Set objFSO = Wscript.CreateObject("Scripting.FileSystemObject")

oShell.Run("robocopy" & " " & Chr(34) & "%LocalAppdata%\Microsoft\AppV\Client\Integration\PKGID\Root\VFS\ProgramFilesX86\Foldername" &

Chr(34) & " " & Chr(34) & "%LocalAppdata%\Microsoft\AppV\Client\VFS\PKGID\APPV_ROOT\Foldername" & Chr(34) & " " & "/e /R:1 /W:2")

oShell.Run("robocopy" & " " & Chr(34) & "%LocalAppdata%\Microsoft\AppV\Client\Integration\PKGID\Root\VFS\ProgramFilesX86\Foldername

\shortfolder" & Chr(34) & " " & Chr(34) & "%AppData%\shortfolder" & Chr(34) & " " & "/e /R:1 /W:2")

oshell.Run("Powershell.exe -noexit %LocalAppdata%\Microsoft\AppV\Client\Integration\PKGID\Scripts\Shortcut.ps1")



<appv:UserScripts>
  <appv:StartVirtualEnvironment RunInVirtualEnvironment="true">
   <appv:Path>POWERSHELL.EXE</appv:Path>
   <appv:Arguments>-ExecutionPolicy RemoteSigned -File "[{AppVPackageRoot}]\..\Scripts\HKCU.ps1"</appv:Arguments>
   <appv:Wait RollbackOnError="false" />
  </appv:StartVirtualEnvironment>
  <appv:PublishPackage>
   <appv:Path>WSCRIPT.EXE</appv:Path>
   <appv:Arguments>"[{AppVPackageRoot}]\..\Scripts\Filecopy.vbs"</appv:Arguments>
   <appv:Wait RollbackOnError="false" />
  </appv:PublishPackage>
  <appv:UnpublishPackage>
   <appv:Path>POWERSHELL.EXE</appv:Path>
   <appv:Arguments>-ExecutionPolicy RemoteSigned -File "[{AppVPackageRoot}]\..\Scripts\RDDir.ps1"</appv:Arguments>
   <appv:Wait RollbackOnError="false" />
  </appv:UnpublishPackage>
 </appv:UserScripts>


HKCU.ps1

$Server1 = Get-itemproperty "HKCU:\Software\KeyName"
$var1 = $Server1."valuename"
$var1 = $var1.ToLower()

$FINALVALUE = "Final"
$TESTVALUE = "TEST"

$regpath2 = "HKCU:\Software\KeyName1"

if (($var1 -eq "test") -or ($var1 -eq "test1") -or ($var1 -eq "test2") -or ($var1 -eq "test3") -or ($var1 -eq "test4")) {
Set-ItemProperty -path $regpath2 -Name "CurrentEnvironment" -Value "$TESTVALUE" -Force
}
else {
Set-ItemProperty -path $regpath2 -Name "CurrentEnvironment" -Value "$FINALVALUE
}

$HD = $ENV:HDRIVE

if(-not (Test-Path "$HD\Documents\TEstKey")){
            New-Item -Path "$HD\Documents\TEstKey" -ItemType directory -Force
}
if(-not (Test-Path "$HD\TEstKey")){
            New-Item -Path "$HD\TEstKey" -ItemType directory -Force
}
if(-not (Test-Path "$HD\Testkey1")){
            New-Item -Path "$HD\Testkey1" -ItemType directory -Force
}

RDDir.ps1
$scriptpath= $MyInvocation.MyCommand.Path
$dir =Split-path $scriptpath

$Hname= $env:APPDATA
$Reg1 = $Hname+= "\Microsoft\Windows\Start Menu\Programs\shortname.lnk"
Remove-Item -path $Reg1 -Recurse


---------------------------------------


 <appv:UserScripts>
    <appv:StartVirtualEnvironment>
      <appv:Path>WSCRIPT.EXE</appv:Path>
      <appv:Arguments>"[{AppVPackageRoot}]\Addin_Install.vbs"</appv:Arguments>
      <appv:Wait RollbackOnError="false" />
    </appv:StartVirtualEnvironment>
    <appv:UnpublishPackage>
      <appv:Path>POWERSHELL.EXE</appv:Path>
      <appv:Arguments>-ExecutionPolicy RemoteSigned -windowStyle Hidden -File "[{AppVPackageRoot}]\..\Scripts

\DelAddin.ps1"</appv:Arguments>
      <appv:Wait RollbackOnError="false" />
    </appv:UnpublishPackage>

Executable.ps1

$dir = Split-Path $script:MyInvocation.MyCommand.Path

$REG = $dir += "\MainExe.exe"


&$REG

permission.ps1

$curdir = $PSScriptRoot

$parent0 = $curdir

$parent1 = (Get-Item $parent0).Parent.FullName

$root = $parent1 + "\Root\config"

$arg0 = $root + " /grant Users:(OI)(CI)F"

Start ICACLS.EXE -ArgumentList $arg0


----------------------------------------------


    <UserScripts>
      <PublishPackage>
        <Path>POWERSHELL.EXE</Path>
        <Arguments>-ExecutionPolicy RemoteSigned -File "[{AppVPackageRoot}]\..\Scripts\Shortcutcreation.ps1"</Arguments>
        <Wait RollbackOnError="false" />
      </PublishPackage>
      <UnpublishPackage>
        <Path>POWERSHELL.EXE</Path>
        <Arguments>-ExecutionPolicy RemoteSigned -File "[{AppVPackageRoot}]\..\Scripts\Removefolder.ps1"</Arguments>
        <Wait RollbackOnError="false" />
      </UnpublishPackage>
    </UserScripts>
  </UserConfiguration>
  <!-- Machine Wide Configuration -->
  <MachineConfiguration>
    <!-- Product Source URL Section -->
  
    <Subsystems>
      <!-- Machine Wide Virtual Registry Section -->
      <Registry />
    </Subsystems>
    <!-- Machine Scripts Section -->
    <MachineScripts>
      <AddPackage>
        <Path>POWERSHELL.EXE</Path>
        <Arguments>-ExecutionPolicy RemoteSigned -File "[{ProgramFilesX86}]\Mainfolder\makelink.ps1"</Arguments>
        <Wait RollbackOnError="false" />
      </AddPackage>


makelink.ps1 (keep the script from where u want to create as link)
$curdir = $PSScriptRoot
$parent = $curdir
do
{
  $parent = (Get-Item $parent).Parent.FullName
 
}
while (($parent.EndsWith("Root")) -eq $false)


Start-sleep 3

$cmdline = " /C mklink /D " + "$env:ProgramData\DummyFoldername" + ' "' + $curdir + '"'

Start CMD.exe -ArgumentList $cmdline


shortcutcreation.ps1

$scriptpath = $MyInvocation.MyCommand.Path
$dir = Split-Path $scriptpath
$arg1 = Split-Path -Path $dir -Parent
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
$HName = $env:APPDATA
$HName3 = $env:APPDATA


$REG1 = $HNAME+="\Microsoft\Windows\Start Menu\Programs\Shortcut Main folder name"
$REG4 = $HNAME3+="\Microsoft\Windows\Start Menu\Programs\Shortcut Main folder name\Subfolder"


$arg3 = "$dir\Shortcut name.lnk"
$arg4 = "$dir\2nd shrotcut name.lnk"


# creating shortcut folders


New-Item $REG1 -type directory
New-Item $REG4 -type directory


#Copying Shortcut Files
Copy-Item -Path $arg3 -Destination $REG1 -Recurse -Force
Copy-Item -Path $arg4 -Destination $REG4 -Recurse -Force



Comments

This post is locked

Don't be a Stranger!

Sign up today to participate, stay informed, earn points and establish a reputation for yourself!

Sign up! or login
Blog

View More Blogs from sanhivi

Share

 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ